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

int main(int argc,char **argv)

{
  undefined1 *puVar1;
  byte *pbVar2;
  undefined *puVar3;
  ld_config_type *plVar4;
  char cVar5;
  size_t sVar6;
  char *pcVar7;
  bfd *pbVar8;
  undefined4 uVar9;
  FILE *pFVar10;
  bfd_link_info *pbVar11;
  char *pcVar12;
  size_t sVar13;
  input_type *piVar14;
  FILE *pFVar15;
  long lVar16;
  undefined4 uVar17;
  int iVar18;
  undefined4 extraout_ECX;
  uint uVar19;
  undefined4 extraout_EDX;
  uint uVar20;
  undefined4 extraout_EDX_00;
  undefined1 *puVar21;
  undefined1 *puVar22;
  byte *pbVar23;
  byte *pbVar25;
  char **ppcVar27;
  bool bVar28;
  bool bVar29;
  byte bVar30;
  int aiStack_b4 [13];
  undefined1 auStack_70 [8];
  byte *local_68;
  char *local_64;
  char **local_60;
  long local_5c;
  byte *local_58;
  byte *local_54;
  byte *local_50;
  ld_config_type *local_4c;
  input_type *local_48;
  args_type *local_44;
  char *local_40;
  bfd_link_info *local_3c;
  bfd *local_38;
  bfd *local_34;
  int local_24 [3];
  input_type *piStack_18;
  byte *pbVar24;
  byte *pbVar26;
  
  bVar30 = 0;
  local_48 = (input_type *)&argc;
  piStack_18 = (input_type *)&argc;
  local_5c = get_run_time();
  local_40 = "";
  setlocale(5,"");
  setlocale(0,"");
  bindtextdomain();
  textdomain();
  local_60 = &program_name;
  program_name = *argv;
  xmalloc_set_program_name();
  expandargv(&argc,&argv);
  bfd_init();
  bfd_set_error_program_name();
  default_bfd_assert_handler = (bfd_assert_handler_type)bfd_set_assert_handler();
  default_bfd_error_handler = (bfd_error_handler_type)bfd_set_error_handler();
  xatexit(ld_cleanup);
  local_34 = (bfd *)argv;
  local_38 = (bfd *)argc;
  bVar28 = argc == 0;
  bVar29 = argc == 1;
  if (1 < argc) {
    pcVar7 = "--sysroot=";
    uVar19 = 1;
    do {
      iVar18 = 10;
      pbVar2 = (byte *)argv[uVar19];
      pbVar24 = pbVar2;
      pbVar26 = (byte *)pcVar7;
      do {
        if (iVar18 == 0) break;
        iVar18 = iVar18 + -1;
        bVar28 = *pbVar24 < *pbVar26;
        bVar29 = *pbVar24 == *pbVar26;
        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;
        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;
      } while (bVar29);
      local_3c = (bfd_link_info *)pcVar7;
      if ((!bVar28 && !bVar29) == bVar28) {
        ld_sysroot = (char *)(pbVar2 + 10);
        if (pbVar2[10] == 0) goto LAB_00017033;
        goto LAB_000174e1;
      }
      uVar19 = uVar19 + 1;
      bVar28 = (uint)argc < uVar19;
      bVar29 = argc == uVar19;
    } while (!bVar29);
  }
  ld_sysroot = "/";
LAB_000174e1:
  ld_canon_sysroot = (char *)lrealpath();
LAB_00017033:
  pcVar7 = ld_canon_sysroot;
  puVar22 = auStack_70;
  if (ld_canon_sysroot == (char *)0x0) {
    ld_canon_sysroot_len = -1;
    sVar6 = ld_canon_sysroot_len;
  }
  else {
    sVar6 = strlen(ld_canon_sysroot);
    if (sVar6 != 0) {
      ld_canon_sysroot_len = sVar6 - 1;
      if (pcVar7[ld_canon_sysroot_len] == '/') {
        pcVar7[ld_canon_sysroot_len] = '\0';
        sVar6 = ld_canon_sysroot_len;
      }
    }
  }
  ld_canon_sysroot_len = sVar6;
  iVar18 = bfd_set_default_target();
  if (iVar18 == 0) {
    pcVar7 = (char *)dcgettext();
    puVar22 = &stack0xffffff80;
    einfo(pcVar7);
    xexit();
  }
  config.build_constructors = 1;
  config.rpath_separator = ':';
  config.split_by_reloc = 0xffffffff;
  config.split_by_file._0_4_ = 0xffffffff;
  config.split_by_file._4_4_ = 0xffffffff;
  config.make_executable = 1;
  config.magic_demand_paged = 1;
  config.text_read_only = 1;
  local_4c = &config;
  link_info.disable_target_specific_optimizations = -1;
  command_line.warn_mismatch = 1;
  command_line.warn_search_mismatch = 1;
  command_line.check_section_addresses = -1;
  local_44 = &command_line;
  *(char **)(puVar22 + -0x10) = "COLLECT_NO_DEMANGLE";
  local_3c = &link_info;
  *(undefined4 *)(puVar22 + -0x14) = 0x17116;
  pcVar7 = getenv(*(char **)(puVar22 + -0x10));
  link_info.relax_pass = 1;
  link_info.extern_protected_data = -1;
  demangling = (bfd_boolean)(pcVar7 == (char *)0x0);
  link_info._0_4_ = link_info._0_4_ | 0x4000400;
  link_info.callbacks = &link_callbacks;
  link_info.input_bfds_tail = &link_info.input_bfds;
  link_info.init_function = "_init";
  link_info.fini_function = "_fini";
  link_info.dynamic_undefined_weak = -1;
  local_34 = (bfd *)CONCAT22(local_34._2_2_,link_info._4_2_);
  link_info._4_2_ = link_info._4_2_ & 0xceb3 | 0x214c;
  link_info.pei386_auto_import = -1;
  link_info.spare_dynamic_tags = 5;
  link_info.path_separator = ':';
  *(char **)(puVar22 + -0x10) = local_40;
  *(undefined4 *)(puVar22 + -0x14) = 0x17190;
  ldfile_add_arch(*(char **)(puVar22 + -0x10));
  local_40 = (char *)local_48[1];
  local_38 = (bfd *)*local_48;
  *(char **)(puVar22 + -0x10) = "LDEMULATION";
  *(undefined4 *)(puVar22 + -0x14) = 0x171ac;
  local_54 = (byte *)getenv(*(char **)(puVar22 + -0x10));
  if (local_54 == (byte *)0x0) goto LAB_00017657;
  do {
    bVar28 = local_38 == (bfd *)0x0;
    bVar29 = local_38 == (bfd *)0x1;
    local_50 = &DAT_00080c85;
    local_58 = &DAT_00080ca6;
    local_64 = "-mips2";
    pbVar8 = (bfd *)0x1;
    puVar21 = puVar22;
    if (1 < (int)local_38) goto LAB_00017334;
LAB_000171e4:
    *(byte **)(puVar21 + -0x10) = local_54;
    *(undefined4 *)(puVar21 + -0x14) = 0x171ef;
    ldemul_choose_mode(*(char **)(puVar21 + -0x10));
    piVar14 = local_48;
    *(input_type *)(puVar21 + -0xc) = local_48[1];
    *(input_type *)(puVar21 + -0x10) = *piVar14;
    *(undefined4 *)(puVar21 + -0x14) = 0x171fe;
    default_target = ldemul_choose_target(*(int *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));
    *(undefined4 *)(puVar21 + -0x14) = 0x1720b;
    lang_init();
    *(undefined4 *)(puVar21 + -0x14) = 0x17210;
    ldexp_init();
    *(undefined4 *)(puVar21 + -0x14) = 0x17215;
    ldemul_before_parse();
    lang_has_input_file = 0;
    ppcVar27 = *(char ***)(puVar21 + -0xc);
    *(input_type *)(puVar21 + -0xc) = piVar14[1];
    *(input_type *)(puVar21 + -0x10) = *piVar14;
    local_38 = (bfd *)&lang_has_input_file;
    *(undefined4 *)(puVar21 + -0x14) = 0x17230;
    parse_args(*(uint *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));
    if (local_4c->hash_table_size != 0) {
      *(ulong *)(puVar21 + -0x10) = local_4c->hash_table_size;
      *(undefined4 *)(puVar21 + -0x14) = 0x17940;
      bfd_hash_set_default_size();
    }
    *(undefined4 *)(puVar21 + -4) = 0x17246;
    plugin_load_plugins();
    *(undefined4 *)(puVar21 + -4) = 0x1724b;
    ldemul_set_symbols();
    if (saved_script_handle == (FILE *)0x0) {
      if (local_44->default_script != (char *)0x0) {
        *(char **)(puVar21 + -0x10) = local_44->default_script;
        *(undefined4 *)(puVar21 + -0x14) = 0x1795f;
        ldfile_open_command_file(*(char **)(puVar21 + -0x10));
        piVar14 = &parser_input;
        parser_input = input_script;
        *(undefined4 *)(puVar21 + -0x14) = 0x17970;
        yyparse();
        if (saved_script_handle != (FILE *)0x0) goto LAB_00017258;
      }
      piVar14 = &parser_input;
      *(int **)(puVar21 + -0x10) = local_24;
      *(undefined4 *)(puVar21 + -0x14) = 0x1798c;
      pbVar8 = (bfd *)ldemul_get_script(*(int **)(puVar21 + -0x10));
      if (local_24[0] == 0) {
        local_34 = pbVar8;
        *(bfd **)(puVar21 + -4) = pbVar8;
        *(undefined4 *)(puVar21 + -8) = 5;
        *(char **)(puVar21 + -0xc) = "built in linker script";
        *(undefined4 *)(puVar21 + -0x10) = 0;
        *(undefined4 *)(puVar21 + -0x14) = 0x179b5;
        lex_string = (char *)pbVar8;
        uVar9 = dcgettext();
        pbVar8 = local_34;
        *(undefined4 *)(puVar21 + -8) = 1;
        *(undefined4 *)(puVar21 + -0xc) = uVar9;
        *(bfd **)(puVar21 + -0x10) = pbVar8;
        *(undefined4 *)(puVar21 + -0x14) = 0x179c4;
        lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))
        ;
      }
      else {
        *(bfd **)(puVar21 + -0x10) = pbVar8;
        *(undefined4 *)(puVar21 + -0x14) = 0x17b37;
        ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));
      }
      ppcVar27 = &lex_string;
      parser_input = input_script;
      *(undefined4 *)(puVar21 + -4) = 0x179d2;
      yyparse();
      lex_string = (char *)0x0;
      if (verbose != 0) {
        if (saved_script_handle != (FILE *)0x0) goto LAB_00017845;
        pcVar7 = "using internal linker script:";
        *(input_type **)(puVar21 + -4) = &parser_input;
        *(undefined4 *)(puVar21 + -8) = 5;
        goto LAB_0001784e;
      }
    }
    else {
LAB_00017258:
      if (verbose != 0) {
LAB_00017845:
        *(char ***)(puVar21 + -4) = ppcVar27;
        pcVar7 = "using external linker script:";
        *(undefined4 *)(puVar21 + -8) = 5;
LAB_0001784e:
        *(char **)(puVar21 + -0xc) = pcVar7;
        *(undefined4 *)(puVar21 + -0x10) = 0;
        *(undefined4 *)(puVar21 + -0x14) = 0x17856;
        uVar9 = dcgettext();
        *(undefined4 *)(puVar21 + -0x10) = uVar9;
        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;
        info_msg(*(char **)(puVar21 + -0x10));
        local_34 = (bfd *)0x8076c;
        *(char **)(puVar21 + -0x10) = "\n==================================================\n";
        *(undefined4 *)(puVar21 + -0x14) = 0x17873;
        info_msg(*(char **)(puVar21 + -0x10));
        if (saved_script_handle == (FILE *)0x0) {
          *(int **)(puVar21 + -0x10) = local_24;
          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;
          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));
          *(char **)(puVar21 + -0x10) = pcVar7;
          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;
          info_msg(*(char **)(puVar21 + -0x10));
        }
        else {
          ppcVar27 = (char **)&DAT_0007ee86;
          *(undefined4 *)(puVar21 + -0x10) = 0x2001;
          *(undefined4 *)(puVar21 + -0x14) = 0x17896;
          piVar14 = (input_type *)xmalloc();
          *(FILE **)(puVar21 + -0x10) = saved_script_handle;
          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;
          rewind(*(FILE **)(puVar21 + -0x10));
          while( true ) {
            *(FILE **)(puVar21 + -4) = saved_script_handle;
            *(undefined4 *)(puVar21 + -8) = 0x2000;
            *(undefined4 *)(puVar21 + -0xc) = 1;
            *(input_type **)(puVar21 + -0x10) = piVar14;
            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;
            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),
                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));
            if (sVar6 == 0) break;
            *(undefined1 *)((int)piVar14 + sVar6) = 0;
            *(input_type **)(puVar21 + -0xc) = piVar14;
            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;
            *(undefined4 *)(puVar21 + -0x14) = 0x178be;
            info_msg(*(char **)(puVar21 + -0x10));
          }
          *(FILE **)(puVar21 + -0x10) = saved_script_handle;
          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;
          rewind(*(FILE **)(puVar21 + -0x10));
          *(input_type **)(puVar21 + -0x10) = piVar14;
          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;
          free(*(void **)(puVar21 + -0x10));
        }
        *(bfd **)(puVar21 + -0x10) = local_34;
        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;
        info_msg(*(char **)(puVar21 + -0x10));
      }
    }
    uVar19 = 1;
    if (local_44->force_group_allocation == 0) {
      local_34 = (bfd *)((uint)local_34 & 0xffffff00);
      uVar19 = (uint)((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=
                     (undefined1  [156])0x2);
    }
    local_34 = (bfd *)CONCAT31(local_34._1_3_,local_3c->field_0x1);
    local_3c->field_0x1 = local_3c->field_0x1 & 0xef | (byte)(uVar19 << 4);
    if (local_44->print_output_format != 0) {
      *(undefined4 *)(puVar21 + -4) = 0x17920;
      pcVar7 = lang_get_output_target();
      *(undefined4 *)(puVar21 + -4) = extraout_EDX_00;
      *(undefined4 *)(puVar21 + -8) = extraout_EDX_00;
      *(char **)(puVar21 + -0xc) = pcVar7;
      *(undefined **)(puVar21 + -0x10) = &DAT_000814fd;
      *(undefined4 *)(puVar21 + -0x14) = 0x1792f;
      info_msg(*(char **)(puVar21 + -0x10));
    }
    *(undefined4 *)(puVar21 + -4) = 0x172ad;
    lang_final();
    if ((*local_48 == input_mri_script) && (version_printed != 0)) goto LAB_000172f3;
    if ((local_3c->field_0x7 & 0x20) != 0) {
      local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);
      if ((*(byte *)local_3c & 3) != 3) {
        *(char ***)(puVar21 + -4) = ppcVar27;
        *(undefined4 *)(puVar21 + -8) = 5;
        *(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";
        *(undefined4 *)(puVar21 + -0x10) = 0;
        *(undefined4 *)(puVar21 + -0x14) = 0x17680;
        uVar9 = dcgettext();
        *(undefined4 *)(puVar21 + -0x10) = uVar9;
        *(undefined4 *)(puVar21 + -0x14) = 0x17688;
        einfo(*(char **)(puVar21 + -0x10));
      }
    }
    pbVar8 = local_38;
    if (local_38->filename == (char *)0x0) {
      if (version_printed != 0 || local_44->print_output_format != 0) goto LAB_000172f3;
      *(input_type **)(puVar21 + -4) = piVar14;
      *(undefined4 *)(puVar21 + -8) = 5;
      *(char **)(puVar21 + -0xc) = "%F%P: no input files\n";
      *(undefined4 *)(puVar21 + -0x10) = 0;
      *(undefined4 *)(puVar21 + -0x14) = 0x1751c;
      pbVar8 = (bfd *)dcgettext();
      *(bfd **)(puVar21 + -0x10) = pbVar8;
      *(undefined4 *)(puVar21 + -0x14) = 0x17524;
      einfo(*(char **)(puVar21 + -0x10));
    }
    if (trace_files != 0) {
      *(bfd **)(puVar21 + -4) = pbVar8;
      *(undefined4 *)(puVar21 + -8) = 5;
      *(char **)(puVar21 + -0xc) = "%P: mode %s\n";
      *(undefined4 *)(puVar21 + -0x10) = 0;
      *(undefined4 *)(puVar21 + -0x14) = 0x176aa;
      uVar9 = dcgettext();
      *(byte **)(puVar21 + -0xc) = local_54;
      *(undefined4 *)(puVar21 + -0x10) = uVar9;
      *(undefined4 *)(puVar21 + -0x14) = 0x176b5;
      info_msg(*(char **)(puVar21 + -0x10));
    }
    *(undefined4 *)(puVar21 + -4) = 0x1753b;
    ldemul_after_parse();
    plVar4 = local_4c;
    pcVar7 = local_4c->map_filename;
    if (pcVar7 != (char *)0x0) {
      *(ld_config_type **)(puVar21 + -4) = local_4c;
      *(ld_config_type **)(puVar21 + -8) = plVar4;
      *(undefined **)(puVar21 + -0xc) = &DAT_000700e6;
      *(char **)(puVar21 + -0x10) = pcVar7;
      *(undefined4 *)(puVar21 + -0x14) = 0x17554;
      iVar18 = strcmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));
      if (iVar18 == 0) {
        local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc;
      }
      else {
        *(int *)(puVar21 + -4) = iVar18;
        *(int *)(puVar21 + -8) = iVar18;
        *(char **)(puVar21 + -0xc) = "w";
        *(char **)(puVar21 + -0x10) = pcVar7;
        *(undefined4 *)(puVar21 + -0x14) = 0x17a5c;
        pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));
        local_4c->map_file = (FILE *)pFVar15;
        if (pFVar15 == (FILE *)0x0) {
          *(undefined4 *)(puVar21 + -0x10) = 1;
          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;
          bfd_set_error();
          pcVar7 = local_4c->map_filename;
          *(undefined4 *)(puVar21 + -8) = 5;
          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";
          *(undefined4 *)(puVar21 + -0x10) = 0;
          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;
          uVar9 = dcgettext();
          *(char **)(puVar21 + -0xc) = pcVar7;
          *(undefined4 *)(puVar21 + -0x10) = uVar9;
          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;
          einfo(*(char **)(puVar21 + -0x10));
        }
      }
    }
    *(undefined4 *)(puVar21 + -4) = 0x17572;
    lang_process();
    local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);
    if ((*(byte *)local_3c & 3) == 2) {
      puVar1 = &local_3c->output_bfd->field_0x28;
      *(uint *)puVar1 = *(uint *)puVar1 & 0xffffffbf;
    }
    else {
      puVar1 = &local_3c->output_bfd->field_0x28;
      *(uint *)puVar1 = *(uint *)puVar1 | 0x40;
    }
    if ((local_3c->compress_debug & COMPRESS_DEBUG) != COMPRESS_DEBUG_NONE) {
      local_34 = local_3c->output_bfd;
      uVar20 = (uint)*(char **)&local_34->field_0x28 >> 5 & 0xfffff;
      uVar19 = uVar20 | 0x24000;
      if (local_3c->compress_debug != COMPRESS_DEBUG_GABI_ZLIB) {
        uVar19 = uVar20 | 0x4000;
      }
      *(char **)&local_34->field_0x28 =
           (char *)(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f);
    }
    *(undefined4 *)(puVar21 + -4) = 0x175dd;
    ldwrite();
    plVar4 = local_4c;
    if (local_4c->map_file == (FILE *)0x0) {
      if (local_44->cref != 0) {
LAB_00017a0f:
        pFVar10 = *(FILE **)PTR_stdout_001c1fdc;
        goto LAB_00017603;
      }
    }
    else {
      *(undefined4 *)(puVar21 + -4) = 0x175ef;
      lang_map();
      if (local_44->cref != 0) {
        pFVar10 = plVar4->map_file;
        if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;
LAB_00017603:
        *(FILE **)(puVar21 + -0x10) = pFVar10;
        *(undefined4 *)(puVar21 + -0x14) = 0x1760c;
        output_cref(*(FILE **)(puVar21 + -0x10));
      }
    }
    if (nocrossref_list != (lang_nocrossrefs *)0x0) {
      *(undefined4 *)(puVar21 + -4) = 0x1761f;
      check_nocrossrefs();
    }
    if (local_44->print_memory_usage != 0) {
      *(undefined4 *)(puVar21 + -4) = 0x17a21;
      lang_print_memory_usage();
    }
    *(undefined4 *)(puVar21 + -4) = 0x17631;
    ldexp_finish();
    *(undefined4 *)(puVar21 + -4) = 0x17636;
    lang_finish();
    pcVar7 = output_filename;
    if (local_4c->make_executable != 0 || force_make_executable != 0) {
      *(bfd **)(puVar21 + -0x10) = local_3c->output_bfd;
      *(undefined4 *)(puVar21 + -0x14) = 0x176cb;
      iVar18 = bfd_close();
      if (iVar18 == 0) {
        pbVar8 = local_3c->output_bfd;
        *(bfd_link_info **)(puVar21 + -4) = local_3c;
        *(undefined4 *)(puVar21 + -8) = 5;
        *(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n";
        *(undefined4 *)(puVar21 + -0x10) = 0;
        *(undefined4 *)(puVar21 + -0x14) = 0x17b1d;
        uVar9 = dcgettext();
        *(bfd **)(puVar21 + -0xc) = pbVar8;
        *(undefined4 *)(puVar21 + -0x10) = uVar9;
        *(undefined4 *)(puVar21 + -0x14) = 0x17b26;
        einfo(*(char **)(puVar21 + -0x10));
      }
      if (((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=
           (undefined1  [156])0x2) && (local_44->force_exe_suffix != 0)) {
        uVar19 = 0xffffffff;
        pcVar7 = output_filename;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          cVar5 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;
        } while (cVar5 != '\0');
        uVar19 = ~uVar19;
        if (uVar19 - 1 < 4) {
LAB_00017745:
          *(undefined4 *)(puVar21 + -0x10) = 0x1000;
          *(undefined4 *)(puVar21 + -0x14) = 0x17755;
          uVar9 = xmalloc();
          *(uint *)(puVar21 + -0x10) = uVar19 + 4;
          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;
          pbVar11 = (bfd_link_info *)xmalloc();
          pcVar7 = output_filename;
          local_3c = pbVar11;
          *(char **)(puVar21 + -0xc) = output_filename;
          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;
          *(undefined4 *)(puVar21 + -0x14) = 0x17771;
          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));
          builtin_strncpy(pcVar12,".exe",5);
          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;
          *(char **)(puVar21 + -0x10) = pcVar7;
          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;
          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));
          local_34 = pbVar8;
          *(char **)(puVar21 + -0xc) = "w";
          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;
          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;
          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));
          if (pbVar8 == (bfd *)0x0) {
            *(undefined4 *)(puVar21 + -4) = 0;
            *(undefined4 *)(puVar21 + -8) = 5;
            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";
            *(undefined4 *)(puVar21 + -0x10) = 0;
            local_40 = output_filename;
            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;
            uVar17 = dcgettext();
            *(char **)(puVar21 + -0xc) = local_40;
            *(undefined4 *)(puVar21 + -0x10) = uVar17;
            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;
            einfo(*(char **)(puVar21 + -0x10));
          }
          if (local_38 == (bfd *)0x0) {
            *(bfd **)(puVar21 + -4) = pbVar8;
            *(undefined4 *)(puVar21 + -8) = 5;
            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";
            *(undefined4 *)(puVar21 + -0x10) = 0;
            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;
            uVar17 = dcgettext();
            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;
            *(undefined4 *)(puVar21 + -0x10) = uVar17;
            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;
            einfo(*(char **)(puVar21 + -0x10));
          }
          local_40 = "%P: error writing file `%s\'\n";
          while( true ) {
            *(bfd **)(puVar21 + -4) = local_34;
            *(undefined4 *)(puVar21 + -8) = 0x1000;
            *(undefined4 *)(puVar21 + -0xc) = 1;
            *(undefined4 *)(puVar21 + -0x10) = uVar9;
            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;
            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),
                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));
            if ((int)sVar6 < 1) break;
            *(bfd **)(puVar21 + -4) = local_38;
            *(size_t *)(puVar21 + -8) = sVar6;
            *(undefined4 *)(puVar21 + -0xc) = 1;
            *(undefined4 *)(puVar21 + -0x10) = uVar9;
            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;
            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),
                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));
            if (sVar6 != sVar13) {
              *(size_t *)(puVar21 + -4) = sVar13;
              *(undefined4 *)(puVar21 + -8) = 5;
              *(char **)(puVar21 + -0xc) = local_40;
              *(undefined4 *)(puVar21 + -0x10) = 0;
              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;
              uVar17 = dcgettext();
              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;
              *(undefined4 *)(puVar21 + -0x10) = uVar17;
              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;
              einfo(*(char **)(puVar21 + -0x10));
            }
          }
          *(bfd **)(puVar21 + -0x10) = local_34;
          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;
          fclose(*(FILE **)(puVar21 + -0x10));
          *(bfd **)(puVar21 + -0x10) = local_38;
          *(undefined4 *)(puVar21 + -0x14) = 0x17807;
          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));
          if (iVar18 == -1) {
            *(undefined4 *)(puVar21 + -4) = 0;
            *(undefined4 *)(puVar21 + -8) = 5;
            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";
            *(undefined4 *)(puVar21 + -0x10) = 0;
            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;
            uVar17 = dcgettext();
            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;
            *(undefined4 *)(puVar21 + -0x10) = uVar17;
            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;
            einfo(*(char **)(puVar21 + -0x10));
          }
          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;
          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;
          free(*(void **)(puVar21 + -0x10));
          *(undefined4 *)(puVar21 + -0x10) = uVar9;
          *(undefined4 *)(puVar21 + -0x14) = 0x17826;
          free(*(void **)(puVar21 + -0x10));
        }
        else {
          pcVar7 = output_filename + (uVar19 - 5);
          *(undefined4 *)(puVar21 + -4) = 0;
          *(undefined4 *)(puVar21 + -8) = 0;
          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;
          *(char **)(puVar21 + -0x10) = pcVar7;
          *(undefined4 *)(puVar21 + -0x14) = 0x17720;
          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));
          if (iVar18 != 0) {
            *(int *)(puVar21 + -4) = iVar18;
            *(int *)(puVar21 + -8) = iVar18;
            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;
            *(char **)(puVar21 + -0x10) = pcVar7;
            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;
            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));
            if (iVar18 != 0) goto LAB_00017745;
          }
        }
      }
      if (local_4c->stats != 0) {
        *(undefined4 *)(puVar21 + -4) = 0x17aa6;
        lVar16 = get_run_time();
        local_34 = (bfd *)(lVar16 - local_5c);
        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;
        *(undefined4 *)(puVar21 + -0x14) = 0x17ac1;
        fflush(*(FILE **)(puVar21 + -0x10));
        pcVar7 = *local_60;
        *(undefined4 *)(puVar21 + -8) = 5;
        *(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n";
        *(undefined4 *)(puVar21 + -0x10) = 0;
        *(undefined4 *)(puVar21 + -0x14) = 0x17ad9;
        uVar9 = dcgettext();
        puVar3 = PTR_stderr_001c1fa8;
        iVar18 = (int)local_34 / 1000000;
        *(int *)(puVar21 + -0x10) = (int)local_34 % 1000000;
        *(int *)(puVar21 + -0x14) = iVar18;
        *(char **)(puVar21 + -0x18) = pcVar7;
        *(undefined4 *)(puVar21 + -0x1c) = uVar9;
        *(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;
        *(undefined4 *)(puVar21 + -0x24) = 0x17af4;
        fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c));
        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3;
        *(undefined4 *)(puVar21 + -0x14) = 0x17afe;
        fflush(*(FILE **)(puVar21 + -0x10));
      }
      output_filename = (char *)0x0;
LAB_000172f3:
      puVar22 = puVar21 + -0x10;
      *(undefined4 *)(puVar21 + -0x10) = 0;
      *(undefined4 *)(puVar21 + -0x14) = 0x172fd;
      pbVar8 = (bfd *)xexit();
      do {
        if ((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)) {
          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);
          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);
        }
        else {
          *(bfd **)(puVar22 + -4) = pbVar8;
          *(undefined4 *)(puVar22 + -8) = 5;
          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";
          *(undefined4 *)(puVar22 + -0x10) = 0;
          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;
          uVar9 = dcgettext();
          *(undefined4 *)(puVar22 + -0x10) = uVar9;
          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;
          einfo(*(char **)(puVar22 + -0x10));
        }
LAB_00017328:
        do {
          bVar28 = local_38 < local_34;
          bVar29 = local_38 == local_34;
          pbVar8 = local_34;
          puVar21 = puVar22;
          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;
LAB_00017334:
          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);
          iVar18 = 2;
          pbVar24 = pbVar2;
          pbVar26 = local_50;
          do {
            if (iVar18 == 0) break;
            iVar18 = iVar18 + -1;
            bVar28 = *pbVar24 < *pbVar26;
            bVar29 = *pbVar24 == *pbVar26;
            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;
            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;
          } while (bVar29);
          local_34 = (bfd *)((int)&pbVar8->filename + input_script);
        } while ((!bVar28 && !bVar29) != bVar28);
        bVar28 = false;
        bVar29 = pbVar2[2] == 0;
      } while (bVar29);
      iVar18 = 7;
      pbVar24 = pbVar2;
      pbVar26 = local_58;
      do {
        pbVar23 = pbVar24;
        pbVar25 = pbVar26;
        if (iVar18 == 0) break;
        iVar18 = iVar18 + -1;
        pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1;
        pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1;
        bVar28 = *pbVar24 < *pbVar26;
        bVar29 = *pbVar24 == *pbVar26;
        pbVar24 = pbVar23;
        pbVar26 = pbVar25;
      } while (bVar29);
      cVar5 = (!bVar28 && !bVar29) - bVar28;
      uVar9 = CONCAT31((int3)((uint)pbVar8 >> 8),cVar5);
      if (cVar5 != '\0') {
        *(undefined4 *)(puVar22 + -4) = uVar9;
        *(undefined4 *)(puVar22 + -8) = uVar9;
        *(char **)(puVar22 + -0xc) = local_64;
        *(byte **)(puVar22 + -0x10) = pbVar2;
        local_68 = pbVar2;
        *(undefined4 *)(puVar22 + -0x14) = 0x1737f;
        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));
        pbVar2 = local_68;
        if (iVar18 != 0) {
          *(byte **)(puVar22 + -4) = pbVar25;
          *(byte **)(puVar22 + -8) = pbVar25;
          *(char **)(puVar22 + -0xc) = "-mips3";
          *(byte **)(puVar22 + -0x10) = pbVar2;
          *(undefined4 *)(puVar22 + -0x14) = 0x17398;
          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));
          pbVar2 = local_68;
          if (iVar18 != 0) {
            *(byte **)(puVar22 + -4) = pbVar23;
            *(byte **)(puVar22 + -8) = pbVar23;
            *(char **)(puVar22 + -0xc) = "-mips4";
            *(byte **)(puVar22 + -0x10) = pbVar2;
            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;
            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));
            pbVar2 = local_68;
            if (iVar18 != 0) {
              *(undefined4 *)(puVar22 + -4) = extraout_ECX;
              *(undefined4 *)(puVar22 + -8) = extraout_ECX;
              *(char **)(puVar22 + -0xc) = "-mips5";
              *(byte **)(puVar22 + -0x10) = pbVar2;
              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;
              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));
              if (iVar18 != 0) {
                *(undefined4 *)(puVar22 + -4) = extraout_EDX;
                *(undefined4 *)(puVar22 + -8) = extraout_EDX;
                pbVar2 = local_68;
                *(char **)(puVar22 + -0xc) = "-mips32";
                *(byte **)(puVar22 + -0x10) = pbVar2;
                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;
                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));
                pbVar2 = local_68;
                if (iVar18 != 0) {
                  *(int *)(puVar22 + -4) = iVar18;
                  *(int *)(puVar22 + -8) = iVar18;
                  *(char **)(puVar22 + -0xc) = "-mips32r2";
                  *(byte **)(puVar22 + -0x10) = pbVar2;
                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;
                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));
                  pbVar2 = local_68;
                  if (iVar18 != 0) {
                    *(int *)(puVar22 + -4) = iVar18;
                    *(int *)(puVar22 + -8) = iVar18;
                    *(char **)(puVar22 + -0xc) = "-mips32r6";
                    *(byte **)(puVar22 + -0x10) = pbVar2;
                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;
                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));
                    pbVar2 = local_68;
                    if (iVar18 != 0) {
                      *(int *)(puVar22 + -4) = iVar18;
                      *(int *)(puVar22 + -8) = iVar18;
                      *(char **)(puVar22 + -0xc) = "-mips64";
                      *(byte **)(puVar22 + -0x10) = pbVar2;
                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;
                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));
                      pbVar2 = local_68;
                      if (iVar18 != 0) {
                        *(int *)(puVar22 + -4) = iVar18;
                        *(int *)(puVar22 + -8) = iVar18;
                        *(char **)(puVar22 + -0xc) = "-mips64r2";
                        *(byte **)(puVar22 + -0x10) = pbVar2;
                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;
                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));
                        pbVar2 = local_68;
                        if (iVar18 != 0) {
                          *(int *)(puVar22 + -4) = iVar18;
                          *(int *)(puVar22 + -8) = iVar18;
                          *(char **)(puVar22 + -0xc) = "-mips64r6";
                          *(byte **)(puVar22 + -0x10) = pbVar2;
                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;
                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));
                          pbVar2 = local_68;
                          if (iVar18 != 0) {
                            *(int *)(puVar22 + -4) = iVar18;
                            *(int *)(puVar22 + -8) = iVar18;
                            *(char **)(puVar22 + -0xc) = "-m486";
                            *(byte **)(puVar22 + -0x10) = pbVar2;
                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;
                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));
                            if (iVar18 != 0) {
                              local_54 = local_68 + 2;
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      goto LAB_00017328;
    }
    if (trace_files != 0) {
      *(bfd_boolean **)(puVar21 + -4) = &trace_files;
      *(undefined4 *)(puVar21 + -8) = 5;
      *(char **)(puVar21 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";
      *(undefined4 *)(puVar21 + -0x10) = 0;
      *(undefined4 *)(puVar21 + -0x14) = 0x17b5c;
      uVar9 = dcgettext();
      *(char **)(puVar21 + -0xc) = pcVar7;
      *(undefined4 *)(puVar21 + -0x10) = uVar9;
      *(undefined4 *)(puVar21 + -0x14) = 0x17b65;
      einfo(*(char **)(puVar21 + -0x10));
    }
    puVar22 = puVar21 + -0x10;
    *(undefined4 *)(puVar21 + -0x10) = 1;
    *(undefined4 *)(puVar21 + -0x14) = 0x17657;
    xexit();
LAB_00017657:
    local_54 = (byte *)0x80c15;
  } while( true );
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void FUN_00016ef0(uint param_1,undefined4 *param_2)

{
  uint *puVar1;
  undefined *puVar2;
  char cVar3;
  size_t sVar4;
  char *pcVar5;
  FILE *pFVar6;
  undefined4 uVar7;
  int iVar8;
  byte *pbVar9;
  size_t sVar10;
  int *piVar11;
  undefined4 uVar12;
  int iVar13;
  undefined4 extraout_ECX;
  uint uVar14;
  undefined4 extraout_EDX;
  uint uVar15;
  undefined1 *puVar16;
  undefined1 *puVar17;
  byte *pbVar18;
  byte *pbVar20;
  undefined4 *puVar22;
  bool bVar23;
  bool bVar24;
  byte bVar25;
  undefined8 uVar26;
  int aiStack_b4 [13];
  undefined1 auStack_70 [8];
  byte *local_68;
  char *local_64;
  undefined4 *local_60;
  int local_5c;
  byte *local_58;
  byte *local_54;
  byte *local_50;
  undefined4 *local_4c;
  int *local_48;
  undefined4 *local_44;
  char *local_40;
  byte *local_3c;
  FILE *local_38;
  FILE *local_34;
  int local_24 [3];
  int *piStack_18;
  byte *pbVar19;
  byte *pbVar21;
  
  bVar25 = 0;
  local_48 = (int *)&param_1;
  piStack_18 = local_48;
  local_5c = FUN_0006f170();
  local_40 = "";
  setlocale(5,"");
  setlocale(0,"");
  bindtextdomain();
  textdomain();
  local_60 = &DAT_001c4758;
  DAT_001c4758 = *param_2;
  xmalloc_set_program_name();
  FUN_0006ed20();
  bfd_init();
  bfd_set_error_program_name();
  DAT_001c39ec = bfd_set_assert_handler();
  DAT_001c39e8 = bfd_set_error_handler();
  FUN_0006f200();
  local_34 = (FILE *)param_2;
  local_38 = (FILE *)param_1;
  bVar23 = param_1 == 0;
  bVar24 = param_1 == 1;
  if (1 < (int)param_1) {
    local_3c = (byte *)0x80c34;
    uVar14 = 1;
    do {
      iVar13 = 10;
      pbVar9 = (byte *)param_2[uVar14];
      pbVar19 = pbVar9;
      pbVar21 = local_3c;
      do {
        if (iVar13 == 0) break;
        iVar13 = iVar13 + -1;
        bVar23 = *pbVar19 < *pbVar21;
        bVar24 = *pbVar19 == *pbVar21;
        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
      } while (bVar24);
      if ((!bVar23 && !bVar24) == bVar23) {
        DAT_001c467c = pbVar9 + 10;
        if (pbVar9[10] == 0) goto LAB_00017033;
        goto LAB_000174e1;
      }
      uVar14 = uVar14 + 1;
      bVar23 = param_1 < uVar14;
      bVar24 = param_1 == uVar14;
    } while (!bVar24);
  }
  DAT_001c467c = (byte *)0x7ef86;
LAB_000174e1:
  DAT_001c4764 = (char *)lrealpath();
LAB_00017033:
  pcVar5 = DAT_001c4764;
  puVar17 = auStack_70;
  if (DAT_001c4764 == (char *)0x0) {
    DAT_001c45c8 = 0xffffffff;
    sVar4 = DAT_001c45c8;
  }
  else {
    sVar4 = strlen(DAT_001c4764);
    if (sVar4 != 0) {
      DAT_001c45c8 = sVar4 - 1;
      if (pcVar5[DAT_001c45c8] == '/') {
        pcVar5[DAT_001c45c8] = '\0';
        sVar4 = DAT_001c45c8;
      }
    }
  }
  DAT_001c45c8 = sVar4;
  iVar13 = bfd_set_default_target();
  if (iVar13 == 0) {
    dcgettext();
    puVar17 = &stack0xffffff80;
    FUN_00034dc0();
    xexit();
  }
  DAT_001c46ec = 1;
  DAT_001c4728 = 0x3a;
  DAT_001c4734 = 0xffffffff;
  DAT_001c4738 = 0xffffffff;
  DAT_001c473c = 0xffffffff;
  DAT_001c46e4 = 1;
  DAT_001c46e0 = 1;
  DAT_001c4710 = 1;
  local_4c = &DAT_001c46e0;
  DAT_001c45f8 = 0xffffffff;
  DAT_001c4690 = 1;
  DAT_001c4694 = 1;
  DAT_001c4698 = 0xff;
  local_44 = &DAT_001c4680;
  *(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";
  local_3c = &DAT_001c45e0;
  *(undefined4 *)(puVar17 + -0x14) = 0x17116;
  pcVar5 = getenv(*(char **)(puVar17 + -0x10));
  DAT_001c4638 = 1;
  DAT_001c4640 = 0xffffffff;
  DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);
  _DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;
  DAT_001c45fc = &PTR_FUN_001c23e0;
  DAT_001c4620 = &DAT_001c461c;
  DAT_001c4630 = "_init";
  DAT_001c4634 = "_fini";
  DAT_001c4644 = 0xffffffff;
  local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);
  _DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;
  DAT_001c4648 = 0xffffffff;
  DAT_001c4650 = 5;
  DAT_001c45ea = 0x3a;
  *(char **)(puVar17 + -0x10) = local_40;
  *(undefined4 *)(puVar17 + -0x14) = 0x17190;
  FUN_00035d00();
  local_40 = (char *)local_48[1];
  local_38 = (FILE *)*local_48;
  *(char **)(puVar17 + -0x10) = "LDEMULATION";
  *(undefined4 *)(puVar17 + -0x14) = 0x171ac;
  local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));
  if (local_54 == (byte *)0x0) goto LAB_00017657;
  do {
    bVar23 = local_38 == (FILE *)0x0;
    bVar24 = local_38 == (FILE *)0x1;
    local_50 = &DAT_00080c85;
    local_58 = &DAT_00080ca6;
    local_64 = "-mips2";
    pFVar6 = (FILE *)0x1;
    puVar16 = puVar17;
    if (1 < (int)local_38) goto LAB_00017334;
LAB_000171e4:
    *(byte **)(puVar16 + -0x10) = local_54;
    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;
    FUN_00033bc0();
    piVar11 = local_48;
    *(int *)(puVar16 + -0xc) = local_48[1];
    *(int *)(puVar16 + -0x10) = *piVar11;
    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;
    DAT_001c4754 = FUN_000338a0();
    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;
    FUN_000258a0();
    *(undefined4 *)(puVar16 + -0x14) = 0x17210;
    FUN_000334e0();
    *(undefined4 *)(puVar16 + -0x14) = 0x17215;
    FUN_000335f0();
    DAT_001c3850 = 0;
    puVar22 = *(undefined4 **)(puVar16 + -0xc);
    *(int *)(puVar16 + -0xc) = piVar11[1];
    *(int *)(puVar16 + -0x10) = *piVar11;
    local_38 = (FILE *)&DAT_001c3850;
    *(undefined4 *)(puVar16 + -0x14) = 0x17230;
    FUN_0001d500();
    if (local_4c[0x18] != 0) {
      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];
      *(undefined4 *)(puVar16 + -0x14) = 0x17940;
      bfd_hash_set_default_size();
    }
    *(undefined4 *)(puVar16 + -4) = 0x17246;
    FUN_00038400();
    *(undefined4 *)(puVar16 + -4) = 0x1724b;
    FUN_000336d0();
    if (DAT_001c39d8 == 0) {
      if (local_44[0x16] != 0) {
        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];
        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;
        FUN_00035ce0();
        piVar11 = &DAT_001c4568;
        DAT_001c4568 = 1;
        *(undefined4 *)(puVar16 + -0x14) = 0x17970;
        FUN_00017f60();
        if (DAT_001c39d8 != 0) goto LAB_00017258;
      }
      piVar11 = &DAT_001c4568;
      *(int **)(puVar16 + -0x10) = local_24;
      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;
      pFVar6 = (FILE *)FUN_00033730();
      if (local_24[0] == 0) {
        local_34 = pFVar6;
        *(FILE **)(puVar16 + -4) = pFVar6;
        *(undefined4 *)(puVar16 + -8) = 5;
        *(char **)(puVar16 + -0xc) = "built in linker script";
        *(undefined4 *)(puVar16 + -0x10) = 0;
        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;
        DAT_001c36a0 = pFVar6;
        uVar7 = dcgettext();
        pFVar6 = local_34;
        *(undefined4 *)(puVar16 + -8) = 1;
        *(undefined4 *)(puVar16 + -0xc) = uVar7;
        *(FILE **)(puVar16 + -0x10) = pFVar6;
        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;
        FUN_0001d090();
      }
      else {
        *(FILE **)(puVar16 + -0x10) = pFVar6;
        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;
        FUN_00035cf0();
      }
      puVar22 = &DAT_001c36a0;
      DAT_001c4568 = 1;
      *(undefined4 *)(puVar16 + -4) = 0x179d2;
      FUN_00017f60();
      DAT_001c36a0 = (FILE *)0x0;
      if (DAT_001c475c != 0) {
        if (DAT_001c39d8 != 0) goto LAB_00017845;
        pcVar5 = "using internal linker script:";
        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;
        *(undefined4 *)(puVar16 + -8) = 5;
        goto LAB_0001784e;
      }
    }
    else {
LAB_00017258:
      if (DAT_001c475c != 0) {
LAB_00017845:
        *(undefined4 **)(puVar16 + -4) = puVar22;
        pcVar5 = "using external linker script:";
        *(undefined4 *)(puVar16 + -8) = 5;
LAB_0001784e:
        *(char **)(puVar16 + -0xc) = pcVar5;
        *(undefined4 *)(puVar16 + -0x10) = 0;
        *(undefined4 *)(puVar16 + -0x14) = 0x17856;
        uVar7 = dcgettext();
        *(undefined4 *)(puVar16 + -0x10) = uVar7;
        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;
        FUN_00034d90();
        local_34 = (FILE *)0x8076c;
        *(char **)(puVar16 + -0x10) = "\n==================================================\n";
        *(undefined4 *)(puVar16 + -0x14) = 0x17873;
        FUN_00034d90();
        if (DAT_001c39d8 == 0) {
          *(int **)(puVar16 + -0x10) = local_24;
          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;
          uVar7 = FUN_00033730();
          *(undefined4 *)(puVar16 + -0x10) = uVar7;
          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;
          FUN_00034d90();
        }
        else {
          puVar22 = (undefined4 *)&DAT_0007ee86;
          *(undefined4 *)(puVar16 + -0x10) = 0x2001;
          *(undefined4 *)(puVar16 + -0x14) = 0x17896;
          piVar11 = (int *)xmalloc();
          *(int *)(puVar16 + -0x10) = DAT_001c39d8;
          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;
          rewind(*(FILE **)(puVar16 + -0x10));
          while( true ) {
            *(int *)(puVar16 + -4) = DAT_001c39d8;
            *(undefined4 *)(puVar16 + -8) = 0x2000;
            *(undefined4 *)(puVar16 + -0xc) = 1;
            *(int **)(puVar16 + -0x10) = piVar11;
            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;
            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),
                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));
            if (sVar4 == 0) break;
            *(undefined1 *)((int)piVar11 + sVar4) = 0;
            *(int **)(puVar16 + -0xc) = piVar11;
            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;
            *(undefined4 *)(puVar16 + -0x14) = 0x178be;
            FUN_00034d90();
          }
          *(int *)(puVar16 + -0x10) = DAT_001c39d8;
          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;
          rewind(*(FILE **)(puVar16 + -0x10));
          *(int **)(puVar16 + -0x10) = piVar11;
          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;
          free(*(void **)(puVar16 + -0x10));
        }
        *(FILE **)(puVar16 + -0x10) = local_34;
        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;
        FUN_00034d90();
      }
    }
    uVar14 = 1;
    if (local_44[0xb] == 0) {
      local_34 = (FILE *)((uint)local_34 & 0xffffff00);
      uVar14 = (uint)((*local_3c & 3) != 2);
    }
    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);
    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);
    if (local_44[9] != 0) {
      *(undefined4 *)(puVar16 + -4) = 0x17920;
      uVar26 = FUN_00026cc0();
      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);
      *(undefined8 *)(puVar16 + -0xc) = uVar26;
      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;
      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;
      FUN_00034d90();
    }
    *(undefined4 *)(puVar16 + -4) = 0x172ad;
    FUN_000289a0();
    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;
    if ((local_3c[7] & 0x20) != 0) {
      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);
      if ((*local_3c & 3) != 3) {
        *(undefined4 **)(puVar16 + -4) = puVar22;
        *(undefined4 *)(puVar16 + -8) = 5;
        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";
        *(undefined4 *)(puVar16 + -0x10) = 0;
        *(undefined4 *)(puVar16 + -0x14) = 0x17680;
        uVar7 = dcgettext();
        *(undefined4 *)(puVar16 + -0x10) = uVar7;
        *(undefined4 *)(puVar16 + -0x14) = 0x17688;
        FUN_00034dc0();
      }
    }
    pFVar6 = local_38;
    if (local_38->_flags == 0) {
      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;
      *(int **)(puVar16 + -4) = piVar11;
      *(undefined4 *)(puVar16 + -8) = 5;
      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";
      *(undefined4 *)(puVar16 + -0x10) = 0;
      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;
      uVar7 = dcgettext();
      *(undefined4 *)(puVar16 + -0x10) = uVar7;
      *(undefined4 *)(puVar16 + -0x14) = 0x17524;
      pFVar6 = (FILE *)FUN_00034dc0();
    }
    if (DAT_001c4768 != 0) {
      *(FILE **)(puVar16 + -4) = pFVar6;
      *(undefined4 *)(puVar16 + -8) = 5;
      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";
      *(undefined4 *)(puVar16 + -0x10) = 0;
      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;
      uVar7 = dcgettext();
      *(byte **)(puVar16 + -0xc) = local_54;
      *(undefined4 *)(puVar16 + -0x10) = uVar7;
      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;
      FUN_00034d90();
    }
    *(undefined4 *)(puVar16 + -4) = 0x1753b;
    FUN_000335d0();
    puVar22 = local_4c;
    iVar13 = local_4c[0x13];
    if (iVar13 != 0) {
      *(undefined4 **)(puVar16 + -4) = local_4c;
      *(undefined4 **)(puVar16 + -8) = puVar22;
      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;
      *(int *)(puVar16 + -0x10) = iVar13;
      *(undefined4 *)(puVar16 + -0x14) = 0x17554;
      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
      if (iVar8 == 0) {
        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;
      }
      else {
        *(int *)(puVar16 + -4) = iVar8;
        *(int *)(puVar16 + -8) = iVar8;
        *(char **)(puVar16 + -0xc) = "w";
        *(int *)(puVar16 + -0x10) = iVar13;
        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;
        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
        local_4c[0x14] = pFVar6;
        if (pFVar6 == (FILE *)0x0) {
          *(undefined4 *)(puVar16 + -0x10) = 1;
          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;
          bfd_set_error();
          uVar7 = local_4c[0x13];
          *(undefined4 *)(puVar16 + -8) = 5;
          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";
          *(undefined4 *)(puVar16 + -0x10) = 0;
          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;
          uVar12 = dcgettext();
          *(undefined4 *)(puVar16 + -0xc) = uVar7;
          *(undefined4 *)(puVar16 + -0x10) = uVar12;
          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;
          FUN_00034dc0();
        }
      }
    }
    *(undefined4 *)(puVar16 + -4) = 0x17572;
    FUN_0002aa30();
    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);
    if ((*local_3c & 3) == 2) {
      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);
      *puVar1 = *puVar1 & 0xffffffbf;
    }
    else {
      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);
      *puVar1 = *puVar1 | 0x40;
    }
    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {
      local_34 = *(FILE **)(local_3c + 0x34);
      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;
      uVar14 = uVar15 | 0x24000;
      if (*(uint *)(local_3c + 0xc) != 5) {
        uVar14 = uVar15 | 0x4000;
      }
      local_34->_IO_backup_base =
           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);
    }
    *(undefined4 *)(puVar16 + -4) = 0x175dd;
    FUN_00030220();
    puVar22 = local_4c;
    if (local_4c[0x14] == 0) {
      if (local_44[3] != 0) {
LAB_00017a0f:
        iVar13 = *(int *)PTR_stdout_001c1fdc;
        goto LAB_00017603;
      }
    }
    else {
      *(undefined4 *)(puVar16 + -4) = 0x175ef;
      FUN_00026210();
      if (local_44[3] != 0) {
        iVar13 = puVar22[0x14];
        if (iVar13 == 0) goto LAB_00017a0f;
LAB_00017603:
        *(int *)(puVar16 + -0x10) = iVar13;
        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;
        FUN_00036a30();
      }
    }
    if (DAT_001c4574 != 0) {
      *(undefined4 *)(puVar16 + -4) = 0x1761f;
      FUN_00036e50();
    }
    if (local_44[10] != 0) {
      *(undefined4 *)(puVar16 + -4) = 0x17a21;
      FUN_0002d150();
    }
    *(undefined4 *)(puVar16 + -4) = 0x17631;
    FUN_00033570();
    *(undefined4 *)(puVar16 + -4) = 0x17636;
    FUN_00024010();
    puVar2 = PTR_s_a_out_001c241c;
    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {
      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);
      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;
      iVar13 = bfd_close();
      if (iVar13 == 0) {
        uVar7 = *(undefined4 *)(local_3c + 0x34);
        *(byte **)(puVar16 + -4) = local_3c;
        *(undefined4 *)(puVar16 + -8) = 5;
        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";
        *(undefined4 *)(puVar16 + -0x10) = 0;
        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;
        uVar12 = dcgettext();
        *(undefined4 *)(puVar16 + -0xc) = uVar7;
        *(undefined4 *)(puVar16 + -0x10) = uVar12;
        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;
        FUN_00034dc0();
      }
      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {
        uVar14 = 0xffffffff;
        pcVar5 = PTR_s_a_out_001c241c;
        do {
          if (uVar14 == 0) break;
          uVar14 = uVar14 - 1;
          cVar3 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;
        } while (cVar3 != '\0');
        uVar14 = ~uVar14;
        if (uVar14 - 1 < 4) {
LAB_00017745:
          *(undefined4 *)(puVar16 + -0x10) = 0x1000;
          *(undefined4 *)(puVar16 + -0x14) = 0x17755;
          uVar7 = xmalloc();
          *(uint *)(puVar16 + -0x10) = uVar14 + 4;
          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;
          pbVar9 = (byte *)xmalloc();
          puVar2 = PTR_s_a_out_001c241c;
          local_3c = pbVar9;
          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;
          *(byte **)(puVar16 + -0x10) = pbVar9;
          *(undefined4 *)(puVar16 + -0x14) = 0x17771;
          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
          builtin_strncpy(pcVar5,".exe",5);
          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;
          *(undefined **)(puVar16 + -0x10) = puVar2;
          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;
          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
          local_34 = pFVar6;
          *(char **)(puVar16 + -0xc) = "w";
          *(byte **)(puVar16 + -0x10) = local_3c;
          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;
          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
          if (pFVar6 == (FILE *)0x0) {
            *(undefined4 *)(puVar16 + -4) = 0;
            *(undefined4 *)(puVar16 + -8) = 5;
            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";
            *(undefined4 *)(puVar16 + -0x10) = 0;
            local_40 = PTR_s_a_out_001c241c;
            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;
            uVar12 = dcgettext();
            *(char **)(puVar16 + -0xc) = local_40;
            *(undefined4 *)(puVar16 + -0x10) = uVar12;
            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;
            FUN_00034dc0();
          }
          if (local_38 == (FILE *)0x0) {
            *(FILE **)(puVar16 + -4) = pFVar6;
            *(undefined4 *)(puVar16 + -8) = 5;
            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";
            *(undefined4 *)(puVar16 + -0x10) = 0;
            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;
            uVar12 = dcgettext();
            *(byte **)(puVar16 + -0xc) = local_3c;
            *(undefined4 *)(puVar16 + -0x10) = uVar12;
            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;
            FUN_00034dc0();
          }
          local_40 = "%P: error writing file `%s\'\n";
          while( true ) {
            *(FILE **)(puVar16 + -4) = local_34;
            *(undefined4 *)(puVar16 + -8) = 0x1000;
            *(undefined4 *)(puVar16 + -0xc) = 1;
            *(undefined4 *)(puVar16 + -0x10) = uVar7;
            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;
            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),
                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));
            if ((int)sVar4 < 1) break;
            *(FILE **)(puVar16 + -4) = local_38;
            *(size_t *)(puVar16 + -8) = sVar4;
            *(undefined4 *)(puVar16 + -0xc) = 1;
            *(undefined4 *)(puVar16 + -0x10) = uVar7;
            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;
            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),
                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));
            if (sVar4 != sVar10) {
              *(size_t *)(puVar16 + -4) = sVar10;
              *(undefined4 *)(puVar16 + -8) = 5;
              *(char **)(puVar16 + -0xc) = local_40;
              *(undefined4 *)(puVar16 + -0x10) = 0;
              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;
              uVar12 = dcgettext();
              *(byte **)(puVar16 + -0xc) = local_3c;
              *(undefined4 *)(puVar16 + -0x10) = uVar12;
              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;
              FUN_00034dc0();
            }
          }
          *(FILE **)(puVar16 + -0x10) = local_34;
          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;
          fclose(*(FILE **)(puVar16 + -0x10));
          *(FILE **)(puVar16 + -0x10) = local_38;
          *(undefined4 *)(puVar16 + -0x14) = 0x17807;
          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));
          if (iVar13 == -1) {
            *(undefined4 *)(puVar16 + -4) = 0;
            *(undefined4 *)(puVar16 + -8) = 5;
            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";
            *(undefined4 *)(puVar16 + -0x10) = 0;
            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;
            uVar12 = dcgettext();
            *(byte **)(puVar16 + -0xc) = local_3c;
            *(undefined4 *)(puVar16 + -0x10) = uVar12;
            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;
            FUN_00034dc0();
          }
          *(byte **)(puVar16 + -0x10) = local_3c;
          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;
          free(*(void **)(puVar16 + -0x10));
          *(undefined4 *)(puVar16 + -0x10) = uVar7;
          *(undefined4 *)(puVar16 + -0x14) = 0x17826;
          free(*(void **)(puVar16 + -0x10));
        }
        else {
          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);
          *(undefined4 *)(puVar16 + -4) = 0;
          *(undefined4 *)(puVar16 + -8) = 0;
          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;
          *(undefined **)(puVar16 + -0x10) = puVar2;
          *(undefined4 *)(puVar16 + -0x14) = 0x17720;
          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
          if (iVar13 != 0) {
            *(int *)(puVar16 + -4) = iVar13;
            *(int *)(puVar16 + -8) = iVar13;
            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;
            *(undefined **)(puVar16 + -0x10) = puVar2;
            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;
            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
            if (iVar13 != 0) goto LAB_00017745;
          }
        }
      }
      if (local_4c[0xd] != 0) {
        *(undefined4 *)(puVar16 + -4) = 0x17aa6;
        iVar13 = FUN_0006f170();
        local_34 = (FILE *)(iVar13 - local_5c);
        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;
        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;
        fflush(*(FILE **)(puVar16 + -0x10));
        uVar7 = *local_60;
        *(undefined4 *)(puVar16 + -8) = 5;
        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";
        *(undefined4 *)(puVar16 + -0x10) = 0;
        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;
        uVar12 = dcgettext();
        puVar2 = PTR_stderr_001c1fa8;
        iVar13 = (int)local_34 / 1000000;
        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;
        *(int *)(puVar16 + -0x14) = iVar13;
        *(undefined4 *)(puVar16 + -0x18) = uVar7;
        *(undefined4 *)(puVar16 + -0x1c) = uVar12;
        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;
        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;
        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));
        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;
        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;
        fflush(*(FILE **)(puVar16 + -0x10));
      }
      PTR_s_a_out_001c241c = (undefined *)0x0;
LAB_000172f3:
      puVar17 = puVar16 + -0x10;
      *(undefined4 *)(puVar16 + -0x10) = 0;
      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;
      pFVar6 = (FILE *)xexit();
      do {
        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {
          local_34 = (FILE *)((int)&pFVar6->_flags + 2);
          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);
        }
        else {
          *(FILE **)(puVar17 + -4) = pFVar6;
          *(undefined4 *)(puVar17 + -8) = 5;
          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";
          *(undefined4 *)(puVar17 + -0x10) = 0;
          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;
          uVar7 = dcgettext();
          *(undefined4 *)(puVar17 + -0x10) = uVar7;
          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;
          FUN_00034dc0();
        }
LAB_00017328:
        do {
          bVar23 = local_38 < local_34;
          bVar24 = local_38 == local_34;
          pFVar6 = local_34;
          puVar16 = puVar17;
          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;
LAB_00017334:
          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);
          iVar13 = 2;
          pbVar19 = pbVar9;
          pbVar21 = local_50;
          do {
            if (iVar13 == 0) break;
            iVar13 = iVar13 + -1;
            bVar23 = *pbVar19 < *pbVar21;
            bVar24 = *pbVar19 == *pbVar21;
            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
          } while (bVar24);
          local_34 = (FILE *)((int)&pFVar6->_flags + 1);
        } while ((!bVar23 && !bVar24) != bVar23);
        bVar23 = false;
        bVar24 = pbVar9[2] == 0;
      } while (bVar24);
      iVar13 = 7;
      pbVar19 = pbVar9;
      pbVar21 = local_58;
      do {
        pbVar18 = pbVar19;
        pbVar20 = pbVar21;
        if (iVar13 == 0) break;
        iVar13 = iVar13 + -1;
        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;
        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;
        bVar23 = *pbVar19 < *pbVar21;
        bVar24 = *pbVar19 == *pbVar21;
        pbVar19 = pbVar18;
        pbVar21 = pbVar20;
      } while (bVar24);
      cVar3 = (!bVar23 && !bVar24) - bVar23;
      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);
      if (cVar3 != '\0') {
        *(undefined4 *)(puVar17 + -4) = uVar7;
        *(undefined4 *)(puVar17 + -8) = uVar7;
        *(char **)(puVar17 + -0xc) = local_64;
        *(byte **)(puVar17 + -0x10) = pbVar9;
        local_68 = pbVar9;
        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;
        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
        pbVar9 = local_68;
        if (iVar13 != 0) {
          *(byte **)(puVar17 + -4) = pbVar20;
          *(byte **)(puVar17 + -8) = pbVar20;
          *(char **)(puVar17 + -0xc) = "-mips3";
          *(byte **)(puVar17 + -0x10) = pbVar9;
          *(undefined4 *)(puVar17 + -0x14) = 0x17398;
          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
          pbVar9 = local_68;
          if (iVar13 != 0) {
            *(byte **)(puVar17 + -4) = pbVar18;
            *(byte **)(puVar17 + -8) = pbVar18;
            *(char **)(puVar17 + -0xc) = "-mips4";
            *(byte **)(puVar17 + -0x10) = pbVar9;
            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;
            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
            pbVar9 = local_68;
            if (iVar13 != 0) {
              *(undefined4 *)(puVar17 + -4) = extraout_ECX;
              *(undefined4 *)(puVar17 + -8) = extraout_ECX;
              *(char **)(puVar17 + -0xc) = "-mips5";
              *(byte **)(puVar17 + -0x10) = pbVar9;
              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;
              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
              if (iVar13 != 0) {
                *(undefined4 *)(puVar17 + -4) = extraout_EDX;
                *(undefined4 *)(puVar17 + -8) = extraout_EDX;
                pbVar9 = local_68;
                *(char **)(puVar17 + -0xc) = "-mips32";
                *(byte **)(puVar17 + -0x10) = pbVar9;
                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;
                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                pbVar9 = local_68;
                if (iVar13 != 0) {
                  *(int *)(puVar17 + -4) = iVar13;
                  *(int *)(puVar17 + -8) = iVar13;
                  *(char **)(puVar17 + -0xc) = "-mips32r2";
                  *(byte **)(puVar17 + -0x10) = pbVar9;
                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;
                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                  pbVar9 = local_68;
                  if (iVar13 != 0) {
                    *(int *)(puVar17 + -4) = iVar13;
                    *(int *)(puVar17 + -8) = iVar13;
                    *(char **)(puVar17 + -0xc) = "-mips32r6";
                    *(byte **)(puVar17 + -0x10) = pbVar9;
                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;
                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                    pbVar9 = local_68;
                    if (iVar13 != 0) {
                      *(int *)(puVar17 + -4) = iVar13;
                      *(int *)(puVar17 + -8) = iVar13;
                      *(char **)(puVar17 + -0xc) = "-mips64";
                      *(byte **)(puVar17 + -0x10) = pbVar9;
                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;
                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                      pbVar9 = local_68;
                      if (iVar13 != 0) {
                        *(int *)(puVar17 + -4) = iVar13;
                        *(int *)(puVar17 + -8) = iVar13;
                        *(char **)(puVar17 + -0xc) = "-mips64r2";
                        *(byte **)(puVar17 + -0x10) = pbVar9;
                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;
                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                        pbVar9 = local_68;
                        if (iVar13 != 0) {
                          *(int *)(puVar17 + -4) = iVar13;
                          *(int *)(puVar17 + -8) = iVar13;
                          *(char **)(puVar17 + -0xc) = "-mips64r6";
                          *(byte **)(puVar17 + -0x10) = pbVar9;
                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;
                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                          pbVar9 = local_68;
                          if (iVar13 != 0) {
                            *(int *)(puVar17 + -4) = iVar13;
                            *(int *)(puVar17 + -8) = iVar13;
                            *(char **)(puVar17 + -0xc) = "-m486";
                            *(byte **)(puVar17 + -0x10) = pbVar9;
                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;
                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                            if (iVar13 != 0) {
                              local_54 = local_68 + 2;
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      goto LAB_00017328;
    }
    if (DAT_001c4768 != 0) {
      *(int **)(puVar16 + -4) = &DAT_001c4768;
      *(undefined4 *)(puVar16 + -8) = 5;
      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";
      *(undefined4 *)(puVar16 + -0x10) = 0;
      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;
      uVar7 = dcgettext();
      *(undefined **)(puVar16 + -0xc) = puVar2;
      *(undefined4 *)(puVar16 + -0x10) = uVar7;
      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;
      FUN_00034dc0();
    }
    puVar17 = puVar16 + -0x10;
    *(undefined4 *)(puVar16 + -0x10) = 1;
    *(undefined4 *)(puVar16 + -0x14) = 0x17657;
    xexit();
LAB_00017657:
    local_54 = (byte *)0x80c15;
  } while( true );
}


LEA ECX,[ESP + 0x4]
AND ESP,0xfffffff0
PUSH dword ptr [ECX + -0x4]
PUSH EBP
MOV EBP,ESP
PUSH EDI
MOV EDI,ECX
PUSH ESI
PUSH EBX
CALL 0x00017c50
ADD EBX,0x1ab0f9
PUSH ECX
SUB ESP,0x58
MOV dword ptr [EBP + -0x40],ECX
CALL 0x0006f170
SUB ESP,0x8
MOV dword ptr [EBP + -0x54],EAX
LEA EAX,[EBX + 0xffebfd5c]
PUSH EAX
MOV ESI,EAX
PUSH 0x5
MOV dword ptr [EBP + -0x38],EAX
CALL 0x00016ad0
POP ECX
POP EAX
PUSH ESI
PUSH 0x0
LEA ESI,[EBX + 0xffebf710]
CALL 0x00016ad0
POP EAX
LEA EAX,[EBX + 0xffebec22]
POP EDX
PUSH EAX
PUSH ESI
CALL 0x00016c80
MOV dword ptr [ESP],ESI
MOV ESI,EDI
CALL 0x00016490
MOV EAX,dword ptr [EDI + 0x4]
LEA EDI,[EBX + 0x2758]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + -0x58],EDI
MOV dword ptr [EDI],EAX
MOV dword ptr [ESP],EAX
CALL 0x00016560
POP ECX
POP EAX
LEA EAX,[ESI + 0x4]
PUSH EAX
PUSH ESI
CALL 0x0006ed20
CALL 0x00016670
POP EAX
PUSH dword ptr [EDI]
CALL 0x00016a70
LEA EAX,[EBX + 0xffe6c220]
MOV dword ptr [ESP],EAX
CALL 0x00016c00
MOV dword ptr [EBX + 0x19ec],EAX
LEA EAX,[EBX + 0xffe6c240]
MOV dword ptr [ESP],EAX
CALL 0x000166c0
MOV dword ptr [EBX + 0x19e8],EAX
LEA EAX,[EBX + 0xffe6ca20]
MOV dword ptr [ESP],EAX
CALL 0x0006f200
MOV EAX,dword ptr [ESI + 0x4]
ADD ESP,0x10
MOV dword ptr [EBP + -0x2c],EAX
MOV EAX,dword ptr [ESI]
MOV dword ptr [EBP + -0x30],EAX
CMP EAX,0x1
JLE 0x000174d3
LEA EAX,[EBX + 0xffebec34]
MOV EDX,0x1
MOV dword ptr [EBP + -0x34],EAX
JMP 0x00016ffc
ADD EDX,0x1
CMP dword ptr [EBP + -0x30],EDX
JZ 0x000174d3
MOV EAX,dword ptr [EBP + -0x2c]
MOV EDI,dword ptr [EBP + -0x34]
MOV ECX,0xa
MOV EAX,dword ptr [EAX + EDX*0x4]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JNZ 0x00016ff0
LEA ECX,[EBX + 0x267c]
LEA EDX,[EAX + 0xa]
CMP byte ptr [EAX + 0xa],0x0
MOV dword ptr [ECX],EDX
JNZ 0x000174e1
LEA EDX,[EBX + 0x2764]
MOV ESI,dword ptr [EDX]
TEST ESI,ESI
JZ 0x000174fa
SUB ESP,0xc
PUSH ESI
CALL 0x00016870
LEA EDX,[EBX + 0x25c8]
ADD ESP,0x10
MOV dword ptr [EDX],EAX
TEST EAX,EAX
JZ 0x00017063
SUB EAX,0x1
ADD ESI,EAX
CMP byte ptr [ESI],0x2f
JZ 0x00017665
SUB ESP,0xc
LEA ESI,[EBX + 0xffebec3f]
PUSH ESI
CALL 0x00016210
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001709f
LEA EAX,[EBX + 0xffebe73c]
PUSH ECX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
POP EDI
POP EDX
PUSH ESI
PUSH EAX
CALL 0x00034dc0
MOV dword ptr [ESP],0x1
CALL 0x00016b00
LEA EAX,[EBX + 0x26e0]
LEA EDI,[EBX + 0x25e0]
SUB ESP,0xc
MOV dword ptr [EAX + 0xc],0x1
MOV byte ptr [EAX + 0x48],0x3a
MOV dword ptr [EAX + 0x54],0xffffffff
MOV dword ptr [EAX + 0x58],0xffffffff
MOV dword ptr [EAX + 0x5c],0xffffffff
MOV dword ptr [EAX + 0x4],0x1
MOV dword ptr [EAX],0x1
MOV dword ptr [EAX + 0x30],0x1
MOV dword ptr [EBP + -0x44],EAX
LEA EAX,[EBX + 0x2680]
MOV dword ptr [EDI + 0x18],0xffffffff
MOV dword ptr [EAX + 0x10],0x1
MOV dword ptr [EAX + 0x14],0x1
MOV byte ptr [EAX + 0x18],0xff
MOV dword ptr [EBP + -0x3c],EAX
LEA EAX,[EBX + 0xffebec59]
PUSH EAX
MOV dword ptr [EBP + -0x34],EDI
CALL 0x000166d0
POP EDX
XOR EDX,EDX
MOV dword ptr [EDI + 0x58],0x1
TEST EAX,EAX
LEA EAX,[EBX + 0x25c4]
MOV dword ptr [EDI + 0x60],0xffffffff
SETZ DL
OR dword ptr [EDI],0x4000400
MOV dword ptr [EAX],EDX
LEA EAX,[EBX + 0x3e0]
MOV dword ptr [EDI + 0x1c],EAX
LEA EAX,[EDI + 0x3c]
MOV dword ptr [EDI + 0x40],EAX
LEA EAX,[EBX + 0xffebec6d]
MOV dword ptr [EDI + 0x50],EAX
LEA EAX,[EBX + 0xffebec73]
MOV dword ptr [EDI + 0x54],EAX
MOVZX EAX,word ptr [EDI + 0x4]
MOV dword ptr [EDI + 0x64],0xffffffff
MOV word ptr [EBP + -0x2c],AX
AND AX,0xceb3
OR AX,0x214c
MOV dword ptr [EDI + 0x68],0xffffffff
MOV word ptr [EDI + 0x4],AX
MOV dword ptr [EDI + 0x70],0x5
MOV byte ptr [EDI + 0xa],0x3a
PUSH dword ptr [EBP + -0x38]
CALL 0x00035d00
MOV EAX,dword ptr [EBP + -0x40]
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + -0x30],EAX
LEA EAX,[EBX + 0xffebec79]
MOV dword ptr [ESP],EAX
MOV dword ptr [EBP + -0x38],EDX
CALL 0x000166d0
ADD ESP,0x10
MOV dword ptr [EBP + -0x4c],EAX
TEST EAX,EAX
JZ 0x00017657
LEA EDX,[EBX + 0xffebec85]
LEA ECX,[EBX + 0xffebecad]
CMP dword ptr [EBP + -0x30],0x1
MOV EAX,0x1
MOV dword ptr [EBP + -0x48],EDX
LEA EDX,[EBX + 0xffebeca6]
MOV dword ptr [EBP + -0x50],EDX
MOV dword ptr [EBP + -0x5c],ECX
JG 0x00017334
SUB ESP,0xc
PUSH dword ptr [EBP + -0x4c]
CALL 0x00033bc0
MOV ESI,dword ptr [EBP + -0x40]
POP EAX
POP EDX
PUSH dword ptr [ESI + 0x4]
PUSH dword ptr [ESI]
CALL 0x000338a0
LEA EDX,[EBX + 0x2754]
MOV dword ptr [EDX],EAX
CALL 0x000258a0
CALL 0x000334e0
CALL 0x000335f0
LEA EAX,[EBX + 0x1850]
MOV dword ptr [EAX],0x0
POP ECX
POP EDI
PUSH dword ptr [ESI + 0x4]
PUSH dword ptr [ESI]
MOV dword ptr [EBP + -0x30],EAX
CALL 0x0001d500
MOV EAX,dword ptr [EBP + -0x44]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x60]
TEST EAX,EAX
JNZ 0x00017937
CALL 0x00038400
CALL 0x000336d0
CMP dword ptr [EBX + 0x19d8],0x0
JZ 0x00017948
LEA EAX,[EBX + 0x275c]
CMP dword ptr [EAX],0x0
JNZ 0x00017845
MOV EAX,dword ptr [EBP + -0x3c]
MOV EDX,0x1
CMP dword ptr [EAX + 0x2c],0x0
JNZ 0x00017286
MOV EAX,dword ptr [EBP + -0x34]
MOVZX EAX,byte ptr [EAX]
MOV byte ptr [EBP + -0x2c],AL
AND EAX,0x3
CMP AL,0x2
SETNZ DL
MOV ECX,dword ptr [EBP + -0x34]
SHL EDX,0x4
MOVZX EAX,byte ptr [ECX + 0x1]
MOV byte ptr [EBP + -0x2c],AL
AND EAX,0xffffffef
OR EAX,EDX
MOV byte ptr [ECX + 0x1],AL
MOV EAX,dword ptr [EBP + -0x3c]
CMP dword ptr [EAX + 0x24],0x0
JNZ 0x0001791b
CALL 0x000289a0
MOV EAX,dword ptr [EBP + -0x40]
CMP dword ptr [EAX],0x2
JZ 0x00017907
MOV EAX,dword ptr [EBP + -0x34]
TEST byte ptr [EAX + 0x7],0x20
JZ 0x000172d3
MOVZX EAX,byte ptr [EAX]
MOV byte ptr [EBP + -0x2c],AL
AND EAX,0x3
CMP AL,0x3
JNZ 0x0001766f
MOV EAX,dword ptr [EBP + -0x30]
CMP dword ptr [EAX],0x0
JNZ 0x00017527
LEA EAX,[EBX + 0x25c0]
MOV ECX,dword ptr [EBP + -0x3c]
MOV EAX,dword ptr [EAX]
OR EAX,dword ptr [ECX + 0x24]
JZ 0x0001750b
SUB ESP,0xc
PUSH 0x0
CALL 0x00016b00
LEA ESI,[ESI]
MOV ESI,dword ptr [EBP + -0x30]
LEA ECX,[ESI + -0x1]
CMP ECX,EAX
JLE 0x000174b2
MOV ECX,dword ptr [EBP + -0x38]
LEA EDX,[EAX*0x4 + 0x0]
ADD EAX,0x2
MOV dword ptr [EBP + -0x2c],EAX
MOV EDX,dword ptr [ECX + EDX*0x1 + 0x4]
MOV dword ptr [EBP + -0x4c],EDX
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + -0x2c]
CMP dword ptr [EBP + -0x30],EAX
JLE 0x000171e4
MOV ECX,dword ptr [EBP + -0x38]
MOV EDI,dword ptr [EBP + -0x48]
MOV EDX,dword ptr [ECX + EAX*0x4]
MOV ECX,0x2
MOV ESI,EDX
CMPSB.REPE ES:EDI,ESI
LEA ESI,[EAX + 0x1]
MOV dword ptr [EBP + -0x2c],ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JNZ 0x00017328
CMP byte ptr [EDX + 0x2],0x0
JZ 0x00017300
MOV EDI,dword ptr [EBP + -0x50]
MOV ECX,0x7
MOV ESI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00017328
PUSH EAX
PUSH EAX
PUSH dword ptr [EBP + -0x5c]
PUSH EDX
MOV dword ptr [EBP + -0x60],EDX
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017328
MOV EDX,dword ptr [EBP + -0x60]
LEA EAX,[EBX + 0xffebecb4]
PUSH EDI
PUSH EDI
PUSH EAX
PUSH EDX
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017328
MOV EDX,dword ptr [EBP + -0x60]
LEA EAX,[EBX + 0xffebecbb]
PUSH ESI
PUSH ESI
PUSH EAX
PUSH EDX
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017328
MOV EDX,dword ptr [EBP + -0x60]
LEA EAX,[EBX + 0xffebecc2]
PUSH ECX
PUSH ECX
PUSH EAX
PUSH EDX
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017328
PUSH EDX
LEA EAX,[EBX + 0xffebecc9]
PUSH EDX
MOV EDX,dword ptr [EBP + -0x60]
PUSH EAX
PUSH EDX
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017328
MOV EDX,dword ptr [EBP + -0x60]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffebecd1]
PUSH EAX
PUSH EDX
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017328
MOV EDX,dword ptr [EBP + -0x60]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffebecdb]
PUSH EAX
PUSH EDX
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017328
MOV EDX,dword ptr [EBP + -0x60]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffebece5]
PUSH EAX
PUSH EDX
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017328
MOV EDX,dword ptr [EBP + -0x60]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffebeced]
PUSH EAX
PUSH EDX
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017328
MOV EDX,dword ptr [EBP + -0x60]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffebecf7]
PUSH EAX
PUSH EDX
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017328
MOV EDX,dword ptr [EBP + -0x60]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffebed01]
PUSH EAX
PUSH EDX
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017328
MOV EDX,dword ptr [EBP + -0x60]
LEA EAX,[EDX + 0x2]
MOV dword ptr [EBP + -0x4c],EAX
JMP 0x00017328
PUSH EAX
LEA EAX,[EBX + 0xffebec88]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
MOV dword ptr [ESP],EAX
CALL 0x00034dc0
ADD ESP,0x10
JMP 0x00017328
LEA EAX,[EBX + 0x267c]
LEA EDX,[EBX + 0xffebcf86]
MOV dword ptr [EAX],EDX
SUB ESP,0xc
PUSH EDX
CALL 0x00016310
LEA EDX,[EBX + 0x2764]
ADD ESP,0x10
MOV dword ptr [EDX],EAX
JMP 0x00017033
LEA EAX,[EBX + 0x25c8]
MOV dword ptr [EAX],0xffffffff
JMP 0x00017063
LEA EAX,[EBX + 0xffebed5a]
PUSH ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
MOV dword ptr [ESP],EAX
CALL 0x00034dc0
ADD ESP,0x10
LEA EDI,[EBX + 0x2768]
CMP dword ptr [EDI],0x0
JNZ 0x00017699
CALL 0x000335d0
MOV EAX,dword ptr [EBP + -0x44]
MOV ESI,dword ptr [EAX + 0x4c]
TEST ESI,ESI
JZ 0x0001756d
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffeae0e6]
PUSH EAX
PUSH ESI
CALL 0x000160f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00017a4d
MOV EAX,dword ptr [EBX + 0xffffffdc]
MOV ECX,dword ptr [EBP + -0x44]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ECX + 0x50],EAX
CALL 0x0002aa30
MOV EAX,dword ptr [EBP + -0x34]
MOVZX EAX,byte ptr [EAX]
MOV byte ptr [EBP + -0x2c],AL
AND EAX,0x3
CMP AL,0x2
MOV EAX,dword ptr [EBP + -0x34]
MOV EAX,dword ptr [EAX + 0x34]
JZ 0x00017690
OR dword ptr [EAX + 0x28],0x40
MOV EAX,dword ptr [EBP + -0x34]
MOV ESI,dword ptr [EAX + 0xc]
TEST ESI,0x1
JZ 0x000175d8
MOV EAX,dword ptr [EAX + 0x34]
MOV dword ptr [EBP + -0x2c],EAX
MOV EAX,dword ptr [EAX + 0x28]
MOV EDX,EAX
AND EAX,0xfe00001f
SHR EDX,0x5
AND EDX,0xfffff
MOV ECX,EDX
OR DH,0x40
OR ECX,0x24000
SHL EDX,0x5
SHL ECX,0x5
OR EDX,EAX
OR ECX,EAX
CMP ESI,0x5
MOV EAX,dword ptr [EBP + -0x2c]
CMOVNZ ECX,EDX
MOV dword ptr [EAX + 0x28],ECX
CALL 0x00030220
MOV ESI,dword ptr [EBP + -0x44]
CMP dword ptr [ESI + 0x50],0x0
JZ 0x00017a02
CALL 0x00026210
MOV EAX,dword ptr [EBP + -0x3c]
CMP dword ptr [EAX + 0xc],0x0
JZ 0x0001760f
MOV EAX,dword ptr [ESI + 0x50]
TEST EAX,EAX
JZ 0x00017a0f
SUB ESP,0xc
PUSH EAX
CALL 0x00036a30
ADD ESP,0x10
LEA EAX,[EBX + 0x2574]
CMP dword ptr [EAX],0x0
JZ 0x0001761f
CALL 0x00036e50
MOV EAX,dword ptr [EBP + -0x3c]
CMP dword ptr [EAX + 0x28],0x0
JNZ 0x00017a1c
CALL 0x00033570
CALL 0x00024010
MOV EAX,dword ptr [EBP + -0x44]
MOV EAX,dword ptr [EAX + 0x4]
OR EAX,dword ptr [EBX + 0x19d0]
JNZ 0x000176bd
CMP dword ptr [EDI],0x0
JNZ 0x00017b45
SUB ESP,0xc
PUSH 0x1
CALL 0x00016b00
LEA EAX,[EBX + 0xffebec15]
MOV dword ptr [EBP + -0x4c],EAX
JMP 0x000171ba
MOV dword ptr [EDX],EAX
MOV byte ptr [ESI],0x0
JMP 0x00017063
LEA EAX,[EBX + 0xffebe7a4]
PUSH EDI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
MOV dword ptr [ESP],EAX
CALL 0x00034dc0
ADD ESP,0x10
JMP 0x000172d3
AND dword ptr [EAX + 0x28],0xffffffbf
JMP 0x00017590
PUSH EAX
LEA EAX,[EBX + 0xffebed70]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
POP EDX
POP ECX
PUSH dword ptr [EBP + -0x4c]
PUSH EAX
CALL 0x00034d90
ADD ESP,0x10
JMP 0x00017536
MOV EAX,dword ptr [EBP + -0x34]
SUB ESP,0xc
PUSH dword ptr [EAX + 0x34]
CALL 0x00016b10
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017b06
MOV EAX,dword ptr [EBP + -0x34]
MOVZX EAX,byte ptr [EAX]
AND EAX,0x3
CMP AL,0x2
JZ 0x00017829
MOV EAX,dword ptr [EBP + -0x3c]
CMP dword ptr [EAX + 0x8],0x0
JZ 0x00017829
MOV EDX,dword ptr [EBX + 0x41c]
OR ECX,0xffffffff
XOR EAX,EAX
MOV EDI,EDX
SCASB.REPNE ES:EDI
NOT ECX
LEA EDI,[ECX + -0x1]
CMP EDI,0x3
JBE 0x00017745
LEA ESI,[EDX + ECX*0x1 + -0x5]
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffebed7d]
PUSH EAX
PUSH ESI
CALL 0x000168d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017829
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffebed82]
PUSH EAX
PUSH ESI
CALL 0x000168d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00017829
SUB ESP,0xc
ADD EDI,0x5
PUSH 0x1000
CALL 0x00016e98
MOV dword ptr [ESP],EDI
MOV ESI,EAX
CALL 0x00016e98
MOV EDI,dword ptr [EBX + 0x41c]
POP EDX
POP ECX
MOV dword ptr [EBP + -0x34],EAX
PUSH EDI
PUSH EAX
CALL 0x00016390
MOV dword ptr [EAX],0x6578652e
MOV byte ptr [EAX + 0x4],0x0
POP EAX
LEA EAX,[EBX + 0xffebbadc]
POP EDX
PUSH EAX
PUSH EDI
CALL 0x00016520
POP ECX
MOV dword ptr [EBP + -0x2c],EAX
MOV EDI,EAX
POP EAX
LEA EAX,[EBX + 0xffeede61]
PUSH EAX
PUSH dword ptr [EBP + -0x34]
CALL 0x00016520
ADD ESP,0x10
MOV dword ptr [EBP + -0x30],EAX
TEST EDI,EDI
JZ 0x00017bd5
CMP dword ptr [EBP + -0x30],0x0
JZ 0x00017bb1
LEA EAX,[EBX + 0xffebed87]
MOV dword ptr [EBP + -0x38],EAX
JMP 0x000177da
PUSH dword ptr [EBP + -0x30]
PUSH EDI
PUSH 0x1
PUSH ESI
CALL 0x00016540
ADD ESP,0x10
CMP EDI,EAX
JNZ 0x00017b6d
PUSH dword ptr [EBP + -0x2c]
PUSH 0x1000
PUSH 0x1
PUSH ESI
CALL 0x000165c0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JG 0x000177c3
SUB ESP,0xc
PUSH dword ptr [EBP + -0x2c]
CALL 0x000162e0
POP EDI
PUSH dword ptr [EBP + -0x30]
CALL 0x000162e0
ADD ESP,0x10
ADD EAX,0x1
JZ 0x00017b8d
SUB ESP,0xc
PUSH dword ptr [EBP + -0x34]
CALL 0x00016e80
MOV dword ptr [ESP],ESI
CALL 0x00016e80
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x44]
CMP dword ptr [EAX + 0x34],0x0
JNZ 0x00017aa1
MOV dword ptr [EBX + 0x41c],0x0
JMP 0x000172f3
PUSH EDI
LEA EAX,[EBX + 0xffebed1e]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
MOV dword ptr [ESP],EAX
CALL 0x00034d90
ADD ESP,0x10
LEA EAX,[EBX + 0xffebe76c]
SUB ESP,0xc
MOV dword ptr [EBP + -0x2c],EAX
PUSH EAX
CALL 0x00034d90
ADD ESP,0x10
CMP dword ptr [EBX + 0x19d8],0x0
JZ 0x00017a26
SUB ESP,0xc
LEA EDI,[EBX + 0xffebce86]
PUSH 0x2001
CALL 0x00016e98
POP ECX
PUSH dword ptr [EBX + 0x19d8]
MOV ESI,EAX
CALL 0x000163d0
ADD ESP,0x10
JMP 0x000178c1
SUB ESP,0x8
MOV byte ptr [ESI + EAX*0x1],0x0
PUSH ESI
PUSH EDI
CALL 0x00034d90
ADD ESP,0x10
PUSH dword ptr [EBX + 0x19d8]
PUSH 0x2000
PUSH 0x1
PUSH ESI
CALL 0x000165c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000178b0
SUB ESP,0xc
PUSH dword ptr [EBX + 0x19d8]
CALL 0x000163d0
MOV dword ptr [ESP],ESI
CALL 0x00016e80
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [EBP + -0x2c]
CALL 0x00034d90
ADD ESP,0x10
JMP 0x00017267
LEA EAX,[EBX + 0x25c0]
CMP dword ptr [EAX],0x0
JZ 0x000172b9
JMP 0x000172f3
CALL 0x00026cc0
PUSH EDX
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffebf4fd]
PUSH EAX
CALL 0x00034d90
ADD ESP,0x10
JMP 0x000172a8
SUB ESP,0xc
PUSH EAX
CALL 0x00016e50
ADD ESP,0x10
JMP 0x00017241
MOV EAX,dword ptr [EBP + -0x3c]
MOV EAX,dword ptr [EAX + 0x58]
TEST EAX,EAX
JZ 0x00017a42
SUB ESP,0xc
PUSH EAX
CALL 0x00035ce0
LEA ESI,[EBX + 0x2568]
MOV dword ptr [ESI],0x1
CALL 0x00017f60
ADD ESP,0x10
CMP dword ptr [EBX + 0x19d8],0x0
JNZ 0x00017258
SUB ESP,0xc
LEA EAX,[EBP + -0x1c]
PUSH EAX
CALL 0x00033730
ADD ESP,0x10
CMP dword ptr [EBP + -0x1c],0x0
JNZ 0x00017b2e
LEA EDI,[EBX + 0x16a0]
MOV dword ptr [EBP + -0x2c],EAX
MOV dword ptr [EDI],EAX
PUSH EAX
LEA EAX,[EBX + 0xffebed07]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
MOV EDX,dword ptr [EBP + -0x2c]
ADD ESP,0xc
PUSH 0x1
PUSH EAX
PUSH EDX
CALL 0x0001d090
ADD ESP,0x10
MOV dword ptr [ESI],0x1
CALL 0x00017f60
LEA EAX,[EBX + 0x275c]
MOV dword ptr [EDI],0x0
CMP dword ptr [EAX],0x0
JZ 0x00017267
CMP dword ptr [EBX + 0x19d8],0x0
JNZ 0x00017845
LEA EAX,[EBX + 0xffebed3c]
PUSH ESI
PUSH 0x5
JMP 0x0001784e
MOV EAX,dword ptr [EBP + -0x3c]
CMP dword ptr [EAX + 0xc],0x0
JZ 0x0001760f
MOV EAX,dword ptr [EBX + 0xffffffdc]
MOV EAX,dword ptr [EAX]
JMP 0x00017603
CALL 0x0002d150
JMP 0x0001762c
SUB ESP,0xc
LEA EAX,[EBP + -0x1c]
PUSH EAX
CALL 0x00033730
MOV dword ptr [ESP],EAX
CALL 0x00034d90
ADD ESP,0x10
JMP 0x000178f4
LEA ESI,[EBX + 0x2568]
JMP 0x00017980
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xffeede61]
PUSH EAX
PUSH ESI
CALL 0x00016520
MOV EDX,dword ptr [EBP + -0x44]
ADD ESP,0x10
MOV dword ptr [EDX + 0x50],EAX
TEST EAX,EAX
JNZ 0x0001756d
SUB ESP,0xc
PUSH 0x1
CALL 0x00016550
MOV EAX,dword ptr [EBP + -0x44]
ADD ESP,0xc
MOV ESI,dword ptr [EAX + 0x4c]
LEA EAX,[EBX + 0xffebe7e0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00034dc0
ADD ESP,0x10
JMP 0x0001756d
CALL 0x0006f170
SUB EAX,dword ptr [EBP + -0x54]
SUB ESP,0xc
MOV ESI,0xf4240
MOV dword ptr [EBP + -0x2c],EAX
MOV EAX,dword ptr [EBX + 0xffffffdc]
PUSH dword ptr [EAX]
CALL 0x00016180
MOV EDX,dword ptr [EBP + -0x58]
ADD ESP,0xc
LEA EAX,[EBX + 0xffebe8c0]
MOV EDI,dword ptr [EDX]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
MOV ECX,EAX
MOV EAX,dword ptr [EBP + -0x2c]
CDQ
IDIV ESI
MOV ESI,dword ptr [EBX + 0xffffffa8]
MOV dword ptr [ESP],EDX
PUSH EAX
PUSH EDI
PUSH ECX
PUSH dword ptr [ESI]
CALL 0x000168b0
ADD ESP,0x14
PUSH dword ptr [ESI]
CALL 0x00016180
ADD ESP,0x10
JMP 0x00017836
MOV EAX,dword ptr [EBP + -0x34]
MOV ESI,dword ptr [EAX + 0x34]
PUSH EAX
LEA EAX,[EBX + 0xffebe838]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00034dc0
ADD ESP,0x10
JMP 0x000176d6
SUB ESP,0xc
PUSH EAX
CALL 0x00035cf0
ADD ESP,0x10
LEA EDI,[EBX + 0x16a0]
JMP 0x000179c7
LEA EAX,[EBX + 0xffebe804]
PUSH EDI
MOV ESI,dword ptr [EBX + 0x41c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00034dc0
ADD ESP,0x10
JMP 0x0001764d
PUSH EAX
PUSH 0x5
PUSH dword ptr [EBP + -0x38]
PUSH 0x0
CALL 0x00016380
POP EDX
POP ECX
PUSH dword ptr [EBP + -0x34]
PUSH EAX
CALL 0x00034dc0
ADD ESP,0x10
JMP 0x000177da
PUSH EAX
LEA EAX,[EBX + 0xffebeda4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
POP EDX
POP ECX
PUSH dword ptr [EBP + -0x34]
PUSH EAX
CALL 0x00034dc0
ADD ESP,0x10
JMP 0x00017813
LEA EAX,[EBX + 0xffebe88c]
PUSH EDI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016380
POP EDX
POP ECX
PUSH dword ptr [EBP + -0x34]
PUSH EAX
CALL 0x00034dc0
ADD ESP,0x10
JMP 0x000177b8
LEA EAX,[EBX + 0xffebe85c]
PUSH EDI
MOV EDX,dword ptr [EBX + 0x41c]
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [EBP + -0x38],EDX
CALL 0x00016380
POP EDX
MOV EDX,dword ptr [EBP + -0x38]
POP ECX
PUSH EDX
PUSH EAX
CALL 0x00034dc0
ADD ESP,0x10
JMP 0x000177ae
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nvoid FUN_00016ef0(uint param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  char cVar3;\n  size_t sVar4;\n  char *pcVar5;\n  FILE *pFVar6;\n  undefined4 uVar7;\n  int iVar8;\n  byte *pbVar9;\n  size_t sVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  uint uVar14;\n  undefined4 extraout_EDX;\n  uint uVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  byte *pbVar20;\n  undefined4 *puVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined8 uVar26;\n  int aiStack_b4 [13];\n  undefined1 auStack_70 [8];\n  byte *local_68;\n  char *local_64;\n  undefined4 *local_60;\n  int local_5c;\n  byte *local_58;\n  byte *local_54;\n  byte *local_50;\n  undefined4 *local_4c;\n  int *local_48;\n  undefined4 *local_44;\n  char *local_40;\n  byte *local_3c;\n  FILE *local_38;\n  FILE *local_34;\n  int local_24 [3];\n  int *piStack_18;\n  byte *pbVar19;\n  byte *pbVar21;\n  \n  bVar25 = 0;\n  local_48 = (int *)&param_1;\n  piStack_18 = local_48;\n  local_5c = FUN_0006f170();\n  local_40 = "";\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  local_60 = &DAT_001c4758;\n  DAT_001c4758 = *param_2;\n  xmalloc_set_program_name();\n  FUN_0006ed20();\n  bfd_init();\n  bfd_set_error_program_name();\n  DAT_001c39ec = bfd_set_assert_handler();\n  DAT_001c39e8 = bfd_set_error_handler();\n  FUN_0006f200();\n  local_34 = (FILE *)param_2;\n  local_38 = (FILE *)param_1;\n  bVar23 = param_1 == 0;\n  bVar24 = param_1 == 1;\n  if (1 < (int)param_1) {\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }\n  DAT_001c467c = (byte *)0x7ef86;\nLAB_000174e1:\n  DAT_001c4764 = (char *)lrealpath();\nLAB_00017033:\n  pcVar5 = DAT_001c4764;\n  puVar17 = auStack_70;\n  if (DAT_001c4764 == (char *)0x0) {\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }\n  else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }\n  DAT_001c45c8 = sVar4;\n  iVar13 = bfd_set_default_target();\n  if (iVar13 == 0) {\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }\n  DAT_001c46ec = 1;\n  DAT_001c4728 = 0x3a;\n  DAT_001c4734 = 0xffffffff;\n  DAT_001c4738 = 0xffffffff;\n  DAT_001c473c = 0xffffffff;\n  DAT_001c46e4 = 1;\n  DAT_001c46e0 = 1;\n  DAT_001c4710 = 1;\n  local_4c = &DAT_001c46e0;\n  DAT_001c45f8 = 0xffffffff;\n  DAT_001c4690 = 1;\n  DAT_001c4694 = 1;\n  DAT_001c4698 = 0xff;\n  local_44 = &DAT_001c4680;\n  *(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";\n  local_3c = &DAT_001c45e0;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17116;\n  pcVar5 = getenv(*(char **)(puVar17 + -0x10));\n  DAT_001c4638 = 1;\n  DAT_001c4640 = 0xffffffff;\n  DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);\n  _DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;\n  DAT_001c45fc = &PTR_FUN_001c23e0;\n  DAT_001c4620 = &DAT_001c461c;\n  DAT_001c4630 = "_init";\n  DAT_001c4634 = "_fini";\n  DAT_001c4644 = 0xffffffff;\n  local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);\n  _DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;\n  DAT_001c4648 = 0xffffffff;\n  DAT_001c4650 = 5;\n  DAT_001c45ea = 0x3a;\n  *(char **)(puVar17 + -0x10) = local_40;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17190;\n  FUN_00035d00();\n  local_40 = (char *)local_48[1];\n  local_38 = (FILE *)*local_48;\n  *(char **)(puVar17 + -0x10) = "LDEMULATION";\n  *(undefined4 *)(puVar17 + -0x14) = 0x171ac;\n  local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));\n  if (local_54 == (byte *)0x0) goto LAB_00017657;\n  do {\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );\n}\n\n" comment comment (function_definition "void FUN_00016ef0(uint param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  char cVar3;\n  size_t sVar4;\n  char *pcVar5;\n  FILE *pFVar6;\n  undefined4 uVar7;\n  int iVar8;\n  byte *pbVar9;\n  size_t sVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  uint uVar14;\n  undefined4 extraout_EDX;\n  uint uVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  byte *pbVar20;\n  undefined4 *puVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined8 uVar26;\n  int aiStack_b4 [13];\n  undefined1 auStack_70 [8];\n  byte *local_68;\n  char *local_64;\n  undefined4 *local_60;\n  int local_5c;\n  byte *local_58;\n  byte *local_54;\n  byte *local_50;\n  undefined4 *local_4c;\n  int *local_48;\n  undefined4 *local_44;\n  char *local_40;\n  byte *local_3c;\n  FILE *local_38;\n  FILE *local_34;\n  int local_24 [3];\n  int *piStack_18;\n  byte *pbVar19;\n  byte *pbVar21;\n  \n  bVar25 = 0;\n  local_48 = (int *)&param_1;\n  piStack_18 = local_48;\n  local_5c = FUN_0006f170();\n  local_40 = "";\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  local_60 = &DAT_001c4758;\n  DAT_001c4758 = *param_2;\n  xmalloc_set_program_name();\n  FUN_0006ed20();\n  bfd_init();\n  bfd_set_error_program_name();\n  DAT_001c39ec = bfd_set_assert_handler();\n  DAT_001c39e8 = bfd_set_error_handler();\n  FUN_0006f200();\n  local_34 = (FILE *)param_2;\n  local_38 = (FILE *)param_1;\n  bVar23 = param_1 == 0;\n  bVar24 = param_1 == 1;\n  if (1 < (int)param_1) {\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }\n  DAT_001c467c = (byte *)0x7ef86;\nLAB_000174e1:\n  DAT_001c4764 = (char *)lrealpath();\nLAB_00017033:\n  pcVar5 = DAT_001c4764;\n  puVar17 = auStack_70;\n  if (DAT_001c4764 == (char *)0x0) {\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }\n  else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }\n  DAT_001c45c8 = sVar4;\n  iVar13 = bfd_set_default_target();\n  if (iVar13 == 0) {\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }\n  DAT_001c46ec = 1;\n  DAT_001c4728 = 0x3a;\n  DAT_001c4734 = 0xffffffff;\n  DAT_001c4738 = 0xffffffff;\n  DAT_001c473c = 0xffffffff;\n  DAT_001c46e4 = 1;\n  DAT_001c46e0 = 1;\n  DAT_001c4710 = 1;\n  local_4c = &DAT_001c46e0;\n  DAT_001c45f8 = 0xffffffff;\n  DAT_001c4690 = 1;\n  DAT_001c4694 = 1;\n  DAT_001c4698 = 0xff;\n  local_44 = &DAT_001c4680;\n  *(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";\n  local_3c = &DAT_001c45e0;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17116;\n  pcVar5 = getenv(*(char **)(puVar17 + -0x10));\n  DAT_001c4638 = 1;\n  DAT_001c4640 = 0xffffffff;\n  DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);\n  _DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;\n  DAT_001c45fc = &PTR_FUN_001c23e0;\n  DAT_001c4620 = &DAT_001c461c;\n  DAT_001c4630 = "_init";\n  DAT_001c4634 = "_fini";\n  DAT_001c4644 = 0xffffffff;\n  local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);\n  _DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;\n  DAT_001c4648 = 0xffffffff;\n  DAT_001c4650 = 5;\n  DAT_001c45ea = 0x3a;\n  *(char **)(puVar17 + -0x10) = local_40;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17190;\n  FUN_00035d00();\n  local_40 = (char *)local_48[1];\n  local_38 = (FILE *)*local_48;\n  *(char **)(puVar17 + -0x10) = "LDEMULATION";\n  *(undefined4 *)(puVar17 + -0x14) = 0x171ac;\n  local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));\n  if (local_54 == (byte *)0x0) goto LAB_00017657;\n  do {\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00016ef0(uint param_1,undefined4 *param_2)" identifier (parameter_list "(uint param_1,undefined4 *param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  undefined *puVar2;\n  char cVar3;\n  size_t sVar4;\n  char *pcVar5;\n  FILE *pFVar6;\n  undefined4 uVar7;\n  int iVar8;\n  byte *pbVar9;\n  size_t sVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  uint uVar14;\n  undefined4 extraout_EDX;\n  uint uVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  byte *pbVar20;\n  undefined4 *puVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined8 uVar26;\n  int aiStack_b4 [13];\n  undefined1 auStack_70 [8];\n  byte *local_68;\n  char *local_64;\n  undefined4 *local_60;\n  int local_5c;\n  byte *local_58;\n  byte *local_54;\n  byte *local_50;\n  undefined4 *local_4c;\n  int *local_48;\n  undefined4 *local_44;\n  char *local_40;\n  byte *local_3c;\n  FILE *local_38;\n  FILE *local_34;\n  int local_24 [3];\n  int *piStack_18;\n  byte *pbVar19;\n  byte *pbVar21;\n  \n  bVar25 = 0;\n  local_48 = (int *)&param_1;\n  piStack_18 = local_48;\n  local_5c = FUN_0006f170();\n  local_40 = "";\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  local_60 = &DAT_001c4758;\n  DAT_001c4758 = *param_2;\n  xmalloc_set_program_name();\n  FUN_0006ed20();\n  bfd_init();\n  bfd_set_error_program_name();\n  DAT_001c39ec = bfd_set_assert_handler();\n  DAT_001c39e8 = bfd_set_error_handler();\n  FUN_0006f200();\n  local_34 = (FILE *)param_2;\n  local_38 = (FILE *)param_1;\n  bVar23 = param_1 == 0;\n  bVar24 = param_1 == 1;\n  if (1 < (int)param_1) {\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }\n  DAT_001c467c = (byte *)0x7ef86;\nLAB_000174e1:\n  DAT_001c4764 = (char *)lrealpath();\nLAB_00017033:\n  pcVar5 = DAT_001c4764;\n  puVar17 = auStack_70;\n  if (DAT_001c4764 == (char *)0x0) {\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }\n  else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }\n  DAT_001c45c8 = sVar4;\n  iVar13 = bfd_set_default_target();\n  if (iVar13 == 0) {\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }\n  DAT_001c46ec = 1;\n  DAT_001c4728 = 0x3a;\n  DAT_001c4734 = 0xffffffff;\n  DAT_001c4738 = 0xffffffff;\n  DAT_001c473c = 0xffffffff;\n  DAT_001c46e4 = 1;\n  DAT_001c46e0 = 1;\n  DAT_001c4710 = 1;\n  local_4c = &DAT_001c46e0;\n  DAT_001c45f8 = 0xffffffff;\n  DAT_001c4690 = 1;\n  DAT_001c4694 = 1;\n  DAT_001c4698 = 0xff;\n  local_44 = &DAT_001c4680;\n  *(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";\n  local_3c = &DAT_001c45e0;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17116;\n  pcVar5 = getenv(*(char **)(puVar17 + -0x10));\n  DAT_001c4638 = 1;\n  DAT_001c4640 = 0xffffffff;\n  DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);\n  _DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;\n  DAT_001c45fc = &PTR_FUN_001c23e0;\n  DAT_001c4620 = &DAT_001c461c;\n  DAT_001c4630 = "_init";\n  DAT_001c4634 = "_fini";\n  DAT_001c4644 = 0xffffffff;\n  local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);\n  _DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;\n  DAT_001c4648 = 0xffffffff;\n  DAT_001c4650 = 5;\n  DAT_001c45ea = 0x3a;\n  *(char **)(puVar17 + -0x10) = local_40;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17190;\n  FUN_00035d00();\n  local_40 = (char *)local_48[1];\n  local_38 = (FILE *)*local_48;\n  *(char **)(puVar17 + -0x10) = "LDEMULATION";\n  *(undefined4 *)(puVar17 + -0x14) = 0x171ac;\n  local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));\n  if (local_54 == (byte *)0x0) goto LAB_00017657;\n  do {\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "FILE *pFVar6;" type_identifier (pointer_declarator "*pFVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "undefined8 uVar26;" type_identifier identifier ;) (declaration "int aiStack_b4 [13];" primitive_type (array_declarator "aiStack_b4 [13]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_70 [8];" type_identifier (array_declarator "auStack_70 [8]" identifier [ number_literal ]) ;) (declaration "byte *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "char *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "byte *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "byte *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined4 *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "int *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined4 *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "byte *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "FILE *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "FILE *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "int local_24 [3];" primitive_type (array_declarator "local_24 [3]" identifier [ number_literal ]) ;) (declaration "int *piStack_18;" primitive_type (pointer_declarator "*piStack_18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "local_48 = (int *)&param_1;" (assignment_expression "local_48 = (int *)&param_1" identifier = (cast_expression "(int *)&param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1" & identifier))) ;) (expression_statement "piStack_18 = local_48;" (assignment_expression "piStack_18 = local_48" identifier = identifier) ;) (expression_statement "local_5c = FUN_0006f170();" (assignment_expression "local_5c = FUN_0006f170()" identifier = (call_expression "FUN_0006f170()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_40 = "";" (assignment_expression "local_40 = """ identifier = (string_literal """" " ")) ;) (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 "local_60 = &DAT_001c4758;" (assignment_expression "local_60 = &DAT_001c4758" identifier = (pointer_expression "&DAT_001c4758" & identifier)) ;) (expression_statement "DAT_001c4758 = *param_2;" (assignment_expression "DAT_001c4758 = *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 "FUN_0006ed20();" (call_expression "FUN_0006ed20()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_init();" (call_expression "bfd_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_set_error_program_name();" (call_expression "bfd_set_error_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_001c39ec = bfd_set_assert_handler();" (assignment_expression "DAT_001c39ec = bfd_set_assert_handler()" identifier = (call_expression "bfd_set_assert_handler()" identifier (argument_list "()" ( )))) ;) (expression_statement "DAT_001c39e8 = bfd_set_error_handler();" (assignment_expression "DAT_001c39e8 = bfd_set_error_handler()" identifier = (call_expression "bfd_set_error_handler()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0006f200();" (call_expression "FUN_0006f200()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_34 = (FILE *)param_2;" (assignment_expression "local_34 = (FILE *)param_2" identifier = (cast_expression "(FILE *)param_2" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_38 = (FILE *)param_1;" (assignment_expression "local_38 = (FILE *)param_1" identifier = (cast_expression "(FILE *)param_1" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bVar23 = param_1 == 0;" (assignment_expression "bVar23 = param_1 == 0" identifier = (binary_expression "param_1 == 0" identifier == number_literal)) ;) (expression_statement "bVar24 = param_1 == 1;" (assignment_expression "bVar24 = param_1 == 1" identifier = (binary_expression "param_1 == 1" identifier == number_literal)) ;) (if_statement "if (1 < (int)param_1) {\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }" if (parenthesized_expression "(1 < (int)param_1)" ( (binary_expression "1 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }" { (expression_statement "local_3c = (byte *)0x80c34;" (assignment_expression "local_3c = (byte *)0x80c34" identifier = (cast_expression "(byte *)0x80c34" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (do_statement "do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);" do (compound_statement "{\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    }" { (expression_statement "iVar13 = 10;" (assignment_expression "iVar13 = 10" identifier = number_literal) ;) (expression_statement "pbVar9 = (byte *)param_2[uVar14];" (assignment_expression "pbVar9 = (byte *)param_2[uVar14]" identifier = (cast_expression "(byte *)param_2[uVar14]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[uVar14]" identifier [ identifier ]))) ;) (expression_statement "pbVar19 = pbVar9;" (assignment_expression "pbVar19 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar21 = local_3c;" (assignment_expression "pbVar21 = local_3c" identifier = identifier) ;) (do_statement "do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);" do (compound_statement "{\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      }" { (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar19 < *pbVar21;" (assignment_expression "bVar23 = *pbVar19 < *pbVar21" identifier = (binary_expression "*pbVar19 < *pbVar21" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar21;" (assignment_expression "bVar24 = *pbVar19 == *pbVar21" identifier = (binary_expression "*pbVar19 == *pbVar21" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }" if (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" ( (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier) )) (compound_statement "{\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }" { (expression_statement "DAT_001c467c = pbVar9 + 10;" (assignment_expression "DAT_001c467c = pbVar9 + 10" identifier = (binary_expression "pbVar9 + 10" identifier + number_literal)) ;) (if_statement "if (pbVar9[10] == 0) goto LAB_00017033;" if (parenthesized_expression "(pbVar9[10] == 0)" ( (binary_expression "pbVar9[10] == 0" (subscript_expression "pbVar9[10]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00017033;" goto statement_identifier ;)) (goto_statement "goto LAB_000174e1;" goto statement_identifier ;) })) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;) (expression_statement "bVar23 = param_1 < uVar14;" (assignment_expression "bVar23 = param_1 < uVar14" identifier = (binary_expression "param_1 < uVar14" identifier < identifier)) ;) (expression_statement "bVar24 = param_1 == uVar14;" (assignment_expression "bVar24 = param_1 == uVar14" identifier = (binary_expression "param_1 == uVar14" identifier == identifier)) ;) }) while (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) ;) })) (expression_statement "DAT_001c467c = (byte *)0x7ef86;" (assignment_expression "DAT_001c467c = (byte *)0x7ef86" identifier = (cast_expression "(byte *)0x7ef86" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000174e1:\n  DAT_001c4764 = (char *)lrealpath();" statement_identifier : (expression_statement "DAT_001c4764 = (char *)lrealpath();" (assignment_expression "DAT_001c4764 = (char *)lrealpath()" identifier = (cast_expression "(char *)lrealpath()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "lrealpath()" identifier (argument_list "()" ( ))))) ;)) (labeled_statement "LAB_00017033:\n  pcVar5 = DAT_001c4764;" statement_identifier : (expression_statement "pcVar5 = DAT_001c4764;" (assignment_expression "pcVar5 = DAT_001c4764" identifier = identifier) ;)) (expression_statement "puVar17 = auStack_70;" (assignment_expression "puVar17 = auStack_70" identifier = identifier) ;) (if_statement "if (DAT_001c4764 == (char *)0x0) {\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }\n  else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }" if (parenthesized_expression "(DAT_001c4764 == (char *)0x0)" ( (binary_expression "DAT_001c4764 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }" { (expression_statement "DAT_001c45c8 = 0xffffffff;" (assignment_expression "DAT_001c45c8 = 0xffffffff" identifier = number_literal) ;) (expression_statement "sVar4 = DAT_001c45c8;" (assignment_expression "sVar4 = DAT_001c45c8" identifier = identifier) ;) }) (else_clause "else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }" else (compound_statement "{\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }" { (expression_statement "sVar4 = strlen(DAT_001c4764);" (assignment_expression "sVar4 = strlen(DAT_001c4764)" identifier = (call_expression "strlen(DAT_001c4764)" identifier (argument_list "(DAT_001c4764)" ( identifier )))) ;) (if_statement "if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }" if (parenthesized_expression "(sVar4 != 0)" ( (binary_expression "sVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }" { (expression_statement "DAT_001c45c8 = sVar4 - 1;" (assignment_expression "DAT_001c45c8 = sVar4 - 1" identifier = (binary_expression "sVar4 - 1" identifier - number_literal)) ;) (if_statement "if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }" if (parenthesized_expression "(pcVar5[DAT_001c45c8] == '/')" ( (binary_expression "pcVar5[DAT_001c45c8] == '/'" (subscript_expression "pcVar5[DAT_001c45c8]" identifier [ identifier ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }" { (expression_statement "pcVar5[DAT_001c45c8] = '\0';" (assignment_expression "pcVar5[DAT_001c45c8] = '\0'" (subscript_expression "pcVar5[DAT_001c45c8]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar4 = DAT_001c45c8;" (assignment_expression "sVar4 = DAT_001c45c8" identifier = identifier) ;) })) })) }))) (expression_statement "DAT_001c45c8 = sVar4;" (assignment_expression "DAT_001c45c8 = sVar4" identifier = identifier) ;) (expression_statement "iVar13 = bfd_set_default_target();" (assignment_expression "iVar13 = bfd_set_default_target()" identifier = (call_expression "bfd_set_default_target()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar13 == 0) {\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }" { (expression_statement "dcgettext();" (call_expression "dcgettext()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar17 = &stack0xffffff80;" (assignment_expression "puVar17 = &stack0xffffff80" identifier = (pointer_expression "&stack0xffffff80" & identifier)) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "xexit();" (call_expression "xexit()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "DAT_001c46ec = 1;" (assignment_expression "DAT_001c46ec = 1" identifier = number_literal) ;) (expression_statement "DAT_001c4728 = 0x3a;" (assignment_expression "DAT_001c4728 = 0x3a" identifier = number_literal) ;) (expression_statement "DAT_001c4734 = 0xffffffff;" (assignment_expression "DAT_001c4734 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c4738 = 0xffffffff;" (assignment_expression "DAT_001c4738 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c473c = 0xffffffff;" (assignment_expression "DAT_001c473c = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c46e4 = 1;" (assignment_expression "DAT_001c46e4 = 1" identifier = number_literal) ;) (expression_statement "DAT_001c46e0 = 1;" (assignment_expression "DAT_001c46e0 = 1" identifier = number_literal) ;) (expression_statement "DAT_001c4710 = 1;" (assignment_expression "DAT_001c4710 = 1" identifier = number_literal) ;) (expression_statement "local_4c = &DAT_001c46e0;" (assignment_expression "local_4c = &DAT_001c46e0" identifier = (pointer_expression "&DAT_001c46e0" & identifier)) ;) (expression_statement "DAT_001c45f8 = 0xffffffff;" (assignment_expression "DAT_001c45f8 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c4690 = 1;" (assignment_expression "DAT_001c4690 = 1" identifier = number_literal) ;) (expression_statement "DAT_001c4694 = 1;" (assignment_expression "DAT_001c4694 = 1" identifier = number_literal) ;) (expression_statement "DAT_001c4698 = 0xff;" (assignment_expression "DAT_001c4698 = 0xff" identifier = number_literal) ;) (expression_statement "local_44 = &DAT_001c4680;" (assignment_expression "local_44 = &DAT_001c4680" identifier = (pointer_expression "&DAT_001c4680" & identifier)) ;) (expression_statement "*(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";" (assignment_expression "*(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE"" (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (string_literal ""COLLECT_NO_DEMANGLE"" " string_content ")) ;) (expression_statement "local_3c = &DAT_001c45e0;" (assignment_expression "local_3c = &DAT_001c45e0" identifier = (pointer_expression "&DAT_001c45e0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17116;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17116" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar5 = getenv(*(char **)(puVar17 + -0x10));" (assignment_expression "pcVar5 = getenv(*(char **)(puVar17 + -0x10))" identifier = (call_expression "getenv(*(char **)(puVar17 + -0x10))" identifier (argument_list "(*(char **)(puVar17 + -0x10))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "DAT_001c4638 = 1;" (assignment_expression "DAT_001c4638 = 1" identifier = number_literal) ;) (expression_statement "DAT_001c4640 = 0xffffffff;" (assignment_expression "DAT_001c4640 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);" (assignment_expression "DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0)" identifier = (call_expression "(uint)(pcVar5 == (char *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) (expression_statement "_DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;" (assignment_expression "_DAT_001c45e0 = _DAT_001c45e0 | 0x4000400" identifier = (binary_expression "_DAT_001c45e0 | 0x4000400" identifier | number_literal)) ;) (expression_statement "DAT_001c45fc = &PTR_FUN_001c23e0;" (assignment_expression "DAT_001c45fc = &PTR_FUN_001c23e0" identifier = (pointer_expression "&PTR_FUN_001c23e0" & identifier)) ;) (expression_statement "DAT_001c4620 = &DAT_001c461c;" (assignment_expression "DAT_001c4620 = &DAT_001c461c" identifier = (pointer_expression "&DAT_001c461c" & identifier)) ;) (expression_statement "DAT_001c4630 = "_init";" (assignment_expression "DAT_001c4630 = "_init"" identifier = (string_literal ""_init"" " string_content ")) ;) (expression_statement "DAT_001c4634 = "_fini";" (assignment_expression "DAT_001c4634 = "_fini"" identifier = (string_literal ""_fini"" " string_content ")) ;) (expression_statement "DAT_001c4644 = 0xffffffff;" (assignment_expression "DAT_001c4644 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);" (assignment_expression "local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4)" identifier = (cast_expression "(FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT22(local_34._2_2_,_DAT_001c45e4)" identifier (argument_list "(local_34._2_2_,_DAT_001c45e4)" ( (field_expression "local_34._2_2_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "_DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;" (assignment_expression "_DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c" identifier = (binary_expression "_DAT_001c45e4 & 0xceb3 | 0x214c" (binary_expression "_DAT_001c45e4 & 0xceb3" identifier & number_literal) | number_literal)) ;) (expression_statement "DAT_001c4648 = 0xffffffff;" (assignment_expression "DAT_001c4648 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c4650 = 5;" (assignment_expression "DAT_001c4650 = 5" identifier = number_literal) ;) (expression_statement "DAT_001c45ea = 0x3a;" (assignment_expression "DAT_001c45ea = 0x3a" identifier = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0x10) = local_40;" (assignment_expression "*(char **)(puVar17 + -0x10) = local_40" (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17190;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17190" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00035d00();" (call_expression "FUN_00035d00()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_40 = (char *)local_48[1];" (assignment_expression "local_40 = (char *)local_48[1]" identifier = (cast_expression "(char *)local_48[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_48[1]" identifier [ number_literal ]))) ;) (expression_statement "local_38 = (FILE *)*local_48;" (assignment_expression "local_38 = (FILE *)*local_48" identifier = (cast_expression "(FILE *)*local_48" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_48" * identifier))) ;) (expression_statement "*(char **)(puVar17 + -0x10) = "LDEMULATION";" (assignment_expression "*(char **)(puVar17 + -0x10) = "LDEMULATION"" (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (string_literal ""LDEMULATION"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x171ac;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x171ac" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));" (assignment_expression "local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10))" identifier = (cast_expression "(byte *)getenv(*(char **)(puVar17 + -0x10))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "getenv(*(char **)(puVar17 + -0x10))" identifier (argument_list "(*(char **)(puVar17 + -0x10))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))))) ;) (if_statement "if (local_54 == (byte *)0x0) goto LAB_00017657;" if (parenthesized_expression "(local_54 == (byte *)0x0)" ( (binary_expression "local_54 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017657;" goto statement_identifier ;)) (do_statement "do {\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );" do (compound_statement "{\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  }" { (expression_statement "bVar23 = local_38 == (FILE *)0x0;" (assignment_expression "bVar23 = local_38 == (FILE *)0x0" identifier = (binary_expression "local_38 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar24 = local_38 == (FILE *)0x1;" (assignment_expression "bVar24 = local_38 == (FILE *)0x1" identifier = (binary_expression "local_38 == (FILE *)0x1" identifier == (cast_expression "(FILE *)0x1" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "local_50 = &DAT_00080c85;" (assignment_expression "local_50 = &DAT_00080c85" identifier = (pointer_expression "&DAT_00080c85" & identifier)) ;) (expression_statement "local_58 = &DAT_00080ca6;" (assignment_expression "local_58 = &DAT_00080ca6" identifier = (pointer_expression "&DAT_00080ca6" & identifier)) ;) (expression_statement "local_64 = "-mips2";" (assignment_expression "local_64 = "-mips2"" identifier = (string_literal ""-mips2"" " string_content ")) ;) (expression_statement "pFVar6 = (FILE *)0x1;" (assignment_expression "pFVar6 = (FILE *)0x1" identifier = (cast_expression "(FILE *)0x1" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if (1 < (int)local_38) goto LAB_00017334;" if (parenthesized_expression "(1 < (int)local_38)" ( (binary_expression "1 < (int)local_38" number_literal < (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00017334;" goto statement_identifier ;)) (labeled_statement "LAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;" statement_identifier : (expression_statement "*(byte **)(puVar16 + -0x10) = local_54;" (assignment_expression "*(byte **)(puVar16 + -0x10) = local_54" (pointer_expression "*(byte **)(puVar16 + -0x10)" * (cast_expression "(byte **)(puVar16 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x171ef;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x171ef" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00033bc0();" (call_expression "FUN_00033bc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar11 = local_48;" (assignment_expression "piVar11 = local_48" identifier = identifier) ;) (expression_statement "*(int *)(puVar16 + -0xc) = local_48[1];" (assignment_expression "*(int *)(puVar16 + -0xc) = local_48[1]" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (subscript_expression "local_48[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar16 + -0x10) = *piVar11;" (assignment_expression "*(int *)(puVar16 + -0x10) = *piVar11" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x171fe;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x171fe" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_001c4754 = FUN_000338a0();" (assignment_expression "DAT_001c4754 = FUN_000338a0()" identifier = (call_expression "FUN_000338a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1720b;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1720b" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000258a0();" (call_expression "FUN_000258a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17210;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17210" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000334e0();" (call_expression "FUN_000334e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17215;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17215" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000335f0();" (call_expression "FUN_000335f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_001c3850 = 0;" (assignment_expression "DAT_001c3850 = 0" identifier = number_literal) ;) (expression_statement "puVar22 = *(undefined4 **)(puVar16 + -0xc);" (assignment_expression "puVar22 = *(undefined4 **)(puVar16 + -0xc)" identifier = (pointer_expression "*(undefined4 **)(puVar16 + -0xc)" * (cast_expression "(undefined4 **)(puVar16 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar16 + -0xc) = piVar11[1];" (assignment_expression "*(int *)(puVar16 + -0xc) = piVar11[1]" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (subscript_expression "piVar11[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar16 + -0x10) = *piVar11;" (assignment_expression "*(int *)(puVar16 + -0x10) = *piVar11" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "local_38 = (FILE *)&DAT_001c3850;" (assignment_expression "local_38 = (FILE *)&DAT_001c3850" identifier = (cast_expression "(FILE *)&DAT_001c3850" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_001c3850" & identifier))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17230;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17230" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001d500();" (call_expression "FUN_0001d500()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }" if (parenthesized_expression "(local_4c[0x18] != 0)" ( (binary_expression "local_4c[0x18] != 0" (subscript_expression "local_4c[0x18]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = local_4c[0x18]" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_4c[0x18]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17940;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17940" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_hash_set_default_size();" (call_expression "bfd_hash_set_default_size()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17246;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17246" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00038400();" (call_expression "FUN_00038400()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1724b;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1724b" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000336d0();" (call_expression "FUN_000336d0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }" if (parenthesized_expression "(DAT_001c39d8 == 0)" ( (binary_expression "DAT_001c39d8 == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }" { (if_statement "if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }" if (parenthesized_expression "(local_44[0x16] != 0)" ( (binary_expression "local_44[0x16] != 0" (subscript_expression "local_44[0x16]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }" { (expression_statement "*(undefined4 *)(puVar16 + -0x10) = local_44[0x16];" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = local_44[0x16]" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_44[0x16]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1795f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1795f" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00035ce0();" (call_expression "FUN_00035ce0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar11 = &DAT_001c4568;" (assignment_expression "piVar11 = &DAT_001c4568" identifier = (pointer_expression "&DAT_001c4568" & identifier)) ;) (expression_statement "DAT_001c4568 = 1;" (assignment_expression "DAT_001c4568 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17970;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17970" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00017f60();" (call_expression "FUN_00017f60()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_001c39d8 != 0) goto LAB_00017258;" if (parenthesized_expression "(DAT_001c39d8 != 0)" ( (binary_expression "DAT_001c39d8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017258;" goto statement_identifier ;)) })) (expression_statement "piVar11 = &DAT_001c4568;" (assignment_expression "piVar11 = &DAT_001c4568" identifier = (pointer_expression "&DAT_001c4568" & identifier)) ;) (expression_statement "*(int **)(puVar16 + -0x10) = local_24;" (assignment_expression "*(int **)(puVar16 + -0x10) = local_24" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1798c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1798c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar6 = (FILE *)FUN_00033730();" (assignment_expression "pFVar6 = (FILE *)FUN_00033730()" identifier = (cast_expression "(FILE *)FUN_00033730()" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00033730()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }" if (parenthesized_expression "(local_24[0] == 0)" ( (binary_expression "local_24[0] == 0" (subscript_expression "local_24[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }" { (expression_statement "local_34 = pFVar6;" (assignment_expression "local_34 = pFVar6" identifier = identifier) ;) (expression_statement "*(FILE **)(puVar16 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "built in linker script";" (assignment_expression "*(char **)(puVar16 + -0xc) = "built in linker script"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""built in linker script"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x179b5;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x179b5" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_001c36a0 = pFVar6;" (assignment_expression "DAT_001c36a0 = pFVar6" identifier = identifier) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "pFVar6 = local_34;" (assignment_expression "pFVar6 = local_34" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(FILE **)(puVar16 + -0x10) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x179c4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x179c4" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001d090();" (call_expression "FUN_0001d090()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }" else (compound_statement "{\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }" { (expression_statement "*(FILE **)(puVar16 + -0x10) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b37;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b37" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00035cf0();" (call_expression "FUN_00035cf0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "puVar22 = &DAT_001c36a0;" (assignment_expression "puVar22 = &DAT_001c36a0" identifier = (pointer_expression "&DAT_001c36a0" & identifier)) ;) (expression_statement "DAT_001c4568 = 1;" (assignment_expression "DAT_001c4568 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x179d2;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x179d2" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00017f60();" (call_expression "FUN_00017f60()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_001c36a0 = (FILE *)0x0;" (assignment_expression "DAT_001c36a0 = (FILE *)0x0" identifier = (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }" if (parenthesized_expression "(DAT_001c475c != 0)" ( (binary_expression "DAT_001c475c != 0" identifier != number_literal) )) (compound_statement "{\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }" { (if_statement "if (DAT_001c39d8 != 0) goto LAB_00017845;" if (parenthesized_expression "(DAT_001c39d8 != 0)" ( (binary_expression "DAT_001c39d8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017845;" goto statement_identifier ;)) (expression_statement "pcVar5 = "using internal linker script:";" (assignment_expression "pcVar5 = "using internal linker script:"" identifier = (string_literal ""using internal linker script:"" " string_content ")) ;) (expression_statement "*(undefined4 **)(puVar16 + -4) = &DAT_001c4568;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = &DAT_001c4568" (pointer_expression "*(undefined4 **)(puVar16 + -4)" * (cast_expression "(undefined4 **)(puVar16 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = (pointer_expression "&DAT_001c4568" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001784e;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }" else (compound_statement "{\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }" { (labeled_statement "LAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }" statement_identifier : (if_statement "if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }" if (parenthesized_expression "(DAT_001c475c != 0)" ( (binary_expression "DAT_001c475c != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }" { (labeled_statement "LAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;" statement_identifier : (expression_statement "*(undefined4 **)(puVar16 + -4) = puVar22;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = puVar22" (pointer_expression "*(undefined4 **)(puVar16 + -4)" * (cast_expression "(undefined4 **)(puVar16 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "pcVar5 = "using external linker script:";" (assignment_expression "pcVar5 = "using external linker script:"" identifier = (string_literal ""using external linker script:"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;" statement_identifier : (expression_statement "*(char **)(puVar16 + -0xc) = pcVar5;" (assignment_expression "*(char **)(puVar16 + -0xc) = pcVar5" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17856;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17856" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1785e;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1785e" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_34 = (FILE *)0x8076c;" (assignment_expression "local_34 = (FILE *)0x8076c" identifier = (cast_expression "(FILE *)0x8076c" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(char **)(puVar16 + -0x10) = "\n==================================================\n";" (assignment_expression "*(char **)(puVar16 + -0x10) = "\n==================================================\n"" (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (string_literal ""\n==================================================\n"" " escape_sequence string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17873;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17873" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }" if (parenthesized_expression "(DAT_001c39d8 == 0)" ( (binary_expression "DAT_001c39d8 == 0" identifier == number_literal) )) (compound_statement "{\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }" { (expression_statement "*(int **)(puVar16 + -0x10) = local_24;" (assignment_expression "*(int **)(puVar16 + -0x10) = local_24" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a32;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a32" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = FUN_00033730();" (assignment_expression "uVar7 = FUN_00033730()" identifier = (call_expression "FUN_00033730()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a3a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a3a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }" else (compound_statement "{\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }" { (expression_statement "puVar22 = (undefined4 *)&DAT_0007ee86;" (assignment_expression "puVar22 = (undefined4 *)&DAT_0007ee86" identifier = (cast_expression "(undefined4 *)&DAT_0007ee86" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0007ee86" & identifier))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0x2001;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0x2001" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17896;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17896" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = (int *)xmalloc();" (assignment_expression "piVar11 = (int *)xmalloc()" identifier = (cast_expression "(int *)xmalloc()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(int *)(puVar16 + -0x10) = DAT_001c39d8;" (assignment_expression "*(int *)(puVar16 + -0x10) = DAT_001c39d8" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178a4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178a4" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "rewind(*(FILE **)(puVar16 + -0x10));" (call_expression "rewind(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) (while_statement "while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }" { (expression_statement "*(int *)(puVar16 + -4) = DAT_001c39d8;" (assignment_expression "*(int *)(puVar16 + -4) = DAT_001c39d8" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 0x2000;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 0x2000" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar11;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar11" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178d4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178d4" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));" (assignment_expression "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier = (call_expression "fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier (argument_list "(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -0xc)" * (cast_expression "(size_t *)(puVar16 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -8)" * (cast_expression "(size_t *)(puVar16 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar4 == 0) break;" if (parenthesized_expression "(sVar4 == 0)" ( (binary_expression "sVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(undefined1 *)((int)piVar11 + sVar4) = 0;" (assignment_expression "*(undefined1 *)((int)piVar11 + sVar4) = 0" (pointer_expression "*(undefined1 *)((int)piVar11 + sVar4)" * (cast_expression "(undefined1 *)((int)piVar11 + sVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + sVar4)" ( (binary_expression "(int)piVar11 + sVar4" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(int **)(puVar16 + -0xc) = piVar11;" (assignment_expression "*(int **)(puVar16 + -0xc) = piVar11" (pointer_expression "*(int **)(puVar16 + -0xc)" * (cast_expression "(int **)(puVar16 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = &DAT_0007ee86" (pointer_expression "*(undefined **)(puVar16 + -0x10)" * (cast_expression "(undefined **)(puVar16 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_0007ee86" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178be;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178be" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar16 + -0x10) = DAT_001c39d8;" (assignment_expression "*(int *)(puVar16 + -0x10) = DAT_001c39d8" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178e9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178e9" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "rewind(*(FILE **)(puVar16 + -0x10));" (call_expression "rewind(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar11;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar11" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178f1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178f1" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar16 + -0x10));" (call_expression "free(*(void **)(puVar16 + -0x10))" identifier (argument_list "(*(void **)(puVar16 + -0x10))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) }))) (expression_statement "*(FILE **)(puVar16 + -0x10) = local_34;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = local_34" (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178ff;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178ff" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) }))) }))) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (if_statement "if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }" if (parenthesized_expression "(local_44[0xb] == 0)" ( (binary_expression "local_44[0xb] == 0" (subscript_expression "local_44[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }" { (expression_statement "local_34 = (FILE *)((uint)local_34 & 0xffffff00);" (assignment_expression "local_34 = (FILE *)((uint)local_34 & 0xffffff00)" identifier = (cast_expression "(FILE *)((uint)local_34 & 0xffffff00)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 & 0xffffff00)" ( (binary_expression "(uint)local_34 & 0xffffff00" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar14 = (uint)((*local_3c & 3) != 2);" (assignment_expression "uVar14 = (uint)((*local_3c & 3) != 2)" identifier = (call_expression "(uint)((*local_3c & 3) != 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*local_3c & 3) != 2)" ( (binary_expression "(*local_3c & 3) != 2" (parenthesized_expression "(*local_3c & 3)" ( (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" * identifier) & number_literal) )) != number_literal) )))) ;) })) (expression_statement "local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);" (assignment_expression "local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1])" identifier = (cast_expression "(FILE *)CONCAT31(local_34._1_3_,local_3c[1])" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_34._1_3_,local_3c[1])" identifier (argument_list "(local_34._1_3_,local_3c[1])" ( (field_expression "local_34._1_3_" identifier . field_identifier) , (subscript_expression "local_3c[1]" identifier [ number_literal ]) ))))) ;) (expression_statement "local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);" (assignment_expression "local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4)" (subscript_expression "local_3c[1]" identifier [ number_literal ]) = (binary_expression "local_3c[1] & 0xef | (byte)(uVar14 << 4)" (binary_expression "local_3c[1] & 0xef" (subscript_expression "local_3c[1]" identifier [ number_literal ]) & number_literal) | (call_expression "(byte)(uVar14 << 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar14 << 4)" ( (binary_expression "uVar14 << 4" identifier << number_literal) ))))) ;) (if_statement "if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }" if (parenthesized_expression "(local_44[9] != 0)" ( (binary_expression "local_44[9] != 0" (subscript_expression "local_44[9]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17920;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17920" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar26 = FUN_00026cc0();" (assignment_expression "uVar26 = FUN_00026cc0()" identifier = (call_expression "FUN_00026cc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);" (assignment_expression "*(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20)" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = (cast_expression "(int)((ulonglong)uVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar26 >> 0x20)" ( (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined8 *)(puVar16 + -0xc) = uVar26;" (assignment_expression "*(undefined8 *)(puVar16 + -0xc) = uVar26" (pointer_expression "*(undefined8 *)(puVar16 + -0xc)" * (cast_expression "(undefined8 *)(puVar16 + -0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0x10) = &DAT_000814fd;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = &DAT_000814fd" (pointer_expression "*(undefined **)(puVar16 + -0x10)" * (cast_expression "(undefined **)(puVar16 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_000814fd" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1792f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1792f" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x172ad;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x172ad" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000289a0();" (call_expression "FUN_000289a0()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;" if (parenthesized_expression "((*local_48 == 2) && (DAT_001c45c0 != 0))" ( (binary_expression "(*local_48 == 2) && (DAT_001c45c0 != 0)" (parenthesized_expression "(*local_48 == 2)" ( (binary_expression "*local_48 == 2" (pointer_expression "*local_48" * identifier) == number_literal) )) && (parenthesized_expression "(DAT_001c45c0 != 0)" ( (binary_expression "DAT_001c45c0 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_000172f3;" goto statement_identifier ;)) (if_statement "if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }" if (parenthesized_expression "((local_3c[7] & 0x20) != 0)" ( (binary_expression "(local_3c[7] & 0x20) != 0" (parenthesized_expression "(local_3c[7] & 0x20)" ( (binary_expression "local_3c[7] & 0x20" (subscript_expression "local_3c[7]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }" { (expression_statement "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);" (assignment_expression "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c)" identifier = (cast_expression "(FILE *)CONCAT31(local_34._1_3_,*local_3c)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_34._1_3_,*local_3c)" identifier (argument_list "(local_34._1_3_,*local_3c)" ( (field_expression "local_34._1_3_" identifier . field_identifier) , (pointer_expression "*local_3c" * identifier) ))))) ;) (if_statement "if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }" if (parenthesized_expression "((*local_3c & 3) != 3)" ( (binary_expression "(*local_3c & 3) != 3" (parenthesized_expression "(*local_3c & 3)" ( (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }" { (expression_statement "*(undefined4 **)(puVar16 + -4) = puVar22;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = puVar22" (pointer_expression "*(undefined4 **)(puVar16 + -4)" * (cast_expression "(undefined4 **)(puVar16 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: --no-define-common may not be used without -shared\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17680;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17680" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17688;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17688" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "pFVar6 = local_38;" (assignment_expression "pFVar6 = local_38" identifier = identifier) ;) (if_statement "if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }" if (parenthesized_expression "(local_38->_flags == 0)" ( (binary_expression "local_38->_flags == 0" (field_expression "local_38->_flags" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }" { (if_statement "if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;" if (parenthesized_expression "(DAT_001c45c0 != 0 || local_44[9] != 0)" ( (binary_expression "DAT_001c45c0 != 0 || local_44[9] != 0" (binary_expression "DAT_001c45c0 != 0" identifier != number_literal) || (binary_expression "local_44[9] != 0" (subscript_expression "local_44[9]" identifier [ number_literal ]) != number_literal)) )) (goto_statement "goto LAB_000172f3;" goto statement_identifier ;)) (expression_statement "*(int **)(puVar16 + -4) = piVar11;" (assignment_expression "*(int **)(puVar16 + -4) = piVar11" (pointer_expression "*(int **)(puVar16 + -4)" * (cast_expression "(int **)(puVar16 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: no input files\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: no input files\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: no input files\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1751c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1751c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17524;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17524" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar6 = (FILE *)FUN_00034dc0();" (assignment_expression "pFVar6 = (FILE *)FUN_00034dc0()" identifier = (cast_expression "(FILE *)FUN_00034dc0()" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))))) ;) })) (if_statement "if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }" if (parenthesized_expression "(DAT_001c4768 != 0)" ( (binary_expression "DAT_001c4768 != 0" identifier != number_literal) )) (compound_statement "{\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }" { (expression_statement "*(FILE **)(puVar16 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%P: mode %s\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%P: mode %s\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%P: mode %s\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x176aa;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x176aa" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(byte **)(puVar16 + -0xc) = local_54;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_54" (pointer_expression "*(byte **)(puVar16 + -0xc)" * (cast_expression "(byte **)(puVar16 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x176b5;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x176b5" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1753b;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1753b" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000335d0();" (call_expression "FUN_000335d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar22 = local_4c;" (assignment_expression "puVar22 = local_4c" identifier = identifier) ;) (expression_statement "iVar13 = local_4c[0x13];" (assignment_expression "iVar13 = local_4c[0x13]" identifier = (subscript_expression "local_4c[0x13]" identifier [ number_literal ])) ;) (if_statement "if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }" { (expression_statement "*(undefined4 **)(puVar16 + -4) = local_4c;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = local_4c" (pointer_expression "*(undefined4 **)(puVar16 + -4)" * (cast_expression "(undefined4 **)(puVar16 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar16 + -8) = puVar22;" (assignment_expression "*(undefined4 **)(puVar16 + -8) = puVar22" (pointer_expression "*(undefined4 **)(puVar16 + -8)" * (cast_expression "(undefined4 **)(puVar16 + -8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_000700e6;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_000700e6" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_000700e6" & identifier)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17554;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17554" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }" { (expression_statement "local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;" (assignment_expression "local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc" (subscript_expression "local_4c[0x14]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)PTR_stdout_001c1fdc" * (cast_expression "(undefined4 *)PTR_stdout_001c1fdc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }" else (compound_statement "{\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }" { (expression_statement "*(int *)(puVar16 + -4) = iVar8;" (assignment_expression "*(int *)(puVar16 + -4) = iVar8" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -8) = iVar8;" (assignment_expression "*(int *)(puVar16 + -8) = iVar8" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "w";" (assignment_expression "*(char **)(puVar16 + -0xc) = "w"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""w"" " string_content ")) ;) (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a5c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "local_4c[0x14] = pFVar6;" (assignment_expression "local_4c[0x14] = pFVar6" (subscript_expression "local_4c[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }" if (parenthesized_expression "(pFVar6 == (FILE *)0x0)" ( (binary_expression "pFVar6 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }" { (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a77;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a77" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_set_error();" (call_expression "bfd_set_error()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar7 = local_4c[0x13];" (assignment_expression "uVar7 = local_4c[0x13]" identifier = (subscript_expression "local_4c[0x13]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: cannot open map file %s: %E\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a90;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a90" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a99;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a99" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) }))) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17572;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17572" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0002aa30();" (call_expression "FUN_0002aa30()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);" (assignment_expression "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c)" identifier = (cast_expression "(FILE *)CONCAT31(local_34._1_3_,*local_3c)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_34._1_3_,*local_3c)" identifier (argument_list "(local_34._1_3_,*local_3c)" ( (field_expression "local_34._1_3_" identifier . field_identifier) , (pointer_expression "*local_3c" * identifier) ))))) ;) (if_statement "if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }" if (parenthesized_expression "((*local_3c & 3) == 2)" ( (binary_expression "(*local_3c & 3) == 2" (parenthesized_expression "(*local_3c & 3)" ( (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }" { (expression_statement "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);" (assignment_expression "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28)" identifier = (cast_expression "(uint *)(*(int *)(local_3c + 0x34) + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_3c + 0x34) + 0x28)" ( (binary_expression "*(int *)(local_3c + 0x34) + 0x28" (pointer_expression "*(int *)(local_3c + 0x34)" * (cast_expression "(int *)(local_3c + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0x34)" ( (binary_expression "local_3c + 0x34" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 & 0xffffffbf;" (assignment_expression "*puVar1 = *puVar1 & 0xffffffbf" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xffffffbf" (pointer_expression "*puVar1" * identifier) & number_literal)) ;) }) (else_clause "else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }" else (compound_statement "{\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }" { (expression_statement "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);" (assignment_expression "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28)" identifier = (cast_expression "(uint *)(*(int *)(local_3c + 0x34) + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_3c + 0x34) + 0x28)" ( (binary_expression "*(int *)(local_3c + 0x34) + 0x28" (pointer_expression "*(int *)(local_3c + 0x34)" * (cast_expression "(int *)(local_3c + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0x34)" ( (binary_expression "local_3c + 0x34" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 | 0x40;" (assignment_expression "*puVar1 = *puVar1 | 0x40" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 0x40" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) }))) (if_statement "if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }" if (parenthesized_expression "((*(uint *)(local_3c + 0xc) & 1) != 0)" ( (binary_expression "(*(uint *)(local_3c + 0xc) & 1) != 0" (parenthesized_expression "(*(uint *)(local_3c + 0xc) & 1)" ( (binary_expression "*(uint *)(local_3c + 0xc) & 1" (pointer_expression "*(uint *)(local_3c + 0xc)" * (cast_expression "(uint *)(local_3c + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0xc)" ( (binary_expression "local_3c + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }" { (expression_statement "local_34 = *(FILE **)(local_3c + 0x34);" (assignment_expression "local_34 = *(FILE **)(local_3c + 0x34)" identifier = (pointer_expression "*(FILE **)(local_3c + 0x34)" * (cast_expression "(FILE **)(local_3c + 0x34)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_3c + 0x34)" ( (binary_expression "local_3c + 0x34" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;" (assignment_expression "uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff" identifier = (binary_expression "(uint)local_34->_IO_backup_base >> 5 & 0xfffff" (binary_expression "(uint)local_34->_IO_backup_base >> 5" (cast_expression "(uint)local_34->_IO_backup_base" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_34->_IO_backup_base" identifier -> field_identifier)) >> number_literal) & number_literal)) ;) (expression_statement "uVar14 = uVar15 | 0x24000;" (assignment_expression "uVar14 = uVar15 | 0x24000" identifier = (binary_expression "uVar15 | 0x24000" identifier | number_literal)) ;) (if_statement "if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }" if (parenthesized_expression "(*(uint *)(local_3c + 0xc) != 5)" ( (binary_expression "*(uint *)(local_3c + 0xc) != 5" (pointer_expression "*(uint *)(local_3c + 0xc)" * (cast_expression "(uint *)(local_3c + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0xc)" ( (binary_expression "local_3c + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar14 = uVar15 | 0x4000;\n      }" { (expression_statement "uVar14 = uVar15 | 0x4000;" (assignment_expression "uVar14 = uVar15 | 0x4000" identifier = (binary_expression "uVar15 | 0x4000" identifier | number_literal)) ;) })) (expression_statement "local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);" (assignment_expression "local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f)" (field_expression "local_34->_IO_backup_base" identifier -> field_identifier) = (cast_expression "(char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f)" ( (binary_expression "uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f" (binary_expression "uVar14 << 5" identifier << number_literal) | (binary_expression "(uint)local_34->_IO_backup_base & 0xfe00001f" (cast_expression "(uint)local_34->_IO_backup_base" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_34->_IO_backup_base" identifier -> field_identifier)) & number_literal)) )))) ;) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x175dd;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x175dd" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00030220();" (call_expression "FUN_00030220()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar22 = local_4c;" (assignment_expression "puVar22 = local_4c" identifier = identifier) ;) (if_statement "if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }" if (parenthesized_expression "(local_4c[0x14] == 0)" ( (binary_expression "local_4c[0x14] == 0" (subscript_expression "local_4c[0x14]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }" { (if_statement "if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }" if (parenthesized_expression "(local_44[3] != 0)" ( (binary_expression "local_44[3] != 0" (subscript_expression "local_44[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }" { (labeled_statement "LAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;" statement_identifier : (expression_statement "iVar13 = *(int *)PTR_stdout_001c1fdc;" (assignment_expression "iVar13 = *(int *)PTR_stdout_001c1fdc" identifier = (pointer_expression "*(int *)PTR_stdout_001c1fdc" * (cast_expression "(int *)PTR_stdout_001c1fdc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (goto_statement "goto LAB_00017603;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x175ef;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x175ef" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00026210();" (call_expression "FUN_00026210()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }" if (parenthesized_expression "(local_44[3] != 0)" ( (binary_expression "local_44[3] != 0" (subscript_expression "local_44[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }" { (expression_statement "iVar13 = puVar22[0x14];" (assignment_expression "iVar13 = puVar22[0x14]" identifier = (subscript_expression "puVar22[0x14]" identifier [ number_literal ])) ;) (if_statement "if (iVar13 == 0) goto LAB_00017a0f;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00017a0f;" goto statement_identifier ;)) (labeled_statement "LAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;" statement_identifier : (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1760c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1760c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00036a30();" (call_expression "FUN_00036a30()" identifier (argument_list "()" ( ))) ;) })) }))) (if_statement "if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }" if (parenthesized_expression "(DAT_001c4574 != 0)" ( (binary_expression "DAT_001c4574 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1761f;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1761f" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00036e50();" (call_expression "FUN_00036e50()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }" if (parenthesized_expression "(local_44[10] != 0)" ( (binary_expression "local_44[10] != 0" (subscript_expression "local_44[10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17a21;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17a21" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0002d150();" (call_expression "FUN_0002d150()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17631;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17631" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00033570();" (call_expression "FUN_00033570()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17636;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17636" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00024010();" (call_expression "FUN_00024010()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar2 = PTR_s_a_out_001c241c;" (assignment_expression "puVar2 = PTR_s_a_out_001c241c" identifier = identifier) ;) (if_statement "if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }" if (parenthesized_expression "(local_4c[1] != 0 || DAT_001c39d0 != 0)" ( (binary_expression "local_4c[1] != 0 || DAT_001c39d0 != 0" (binary_expression "local_4c[1] != 0" (subscript_expression "local_4c[1]" identifier [ number_literal ]) != number_literal) || (binary_expression "DAT_001c39d0 != 0" identifier != number_literal)) )) (compound_statement "{\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34)" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(local_3c + 0x34)" * (cast_expression "(undefined4 *)(local_3c + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0x34)" ( (binary_expression "local_3c + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x176cb;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x176cb" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = bfd_close();" (assignment_expression "iVar13 = bfd_close()" identifier = (call_expression "bfd_close()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }" { (expression_statement "uVar7 = *(undefined4 *)(local_3c + 0x34);" (assignment_expression "uVar7 = *(undefined4 *)(local_3c + 0x34)" identifier = (pointer_expression "*(undefined4 *)(local_3c + 0x34)" * (cast_expression "(undefined4 *)(local_3c + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0x34)" ( (binary_expression "local_3c + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar16 + -4) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -4) = local_3c" (pointer_expression "*(byte **)(puVar16 + -4)" * (cast_expression "(byte **)(puVar16 + -4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: %pB: final close failed: %E\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b1d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b1d" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b26;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b26" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }" if (parenthesized_expression "(((*local_3c & 3) != 2) && (local_44[2] != 0))" ( (binary_expression "((*local_3c & 3) != 2) && (local_44[2] != 0)" (parenthesized_expression "((*local_3c & 3) != 2)" ( (binary_expression "(*local_3c & 3) != 2" (parenthesized_expression "(*local_3c & 3)" ( (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" * identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(local_44[2] != 0)" ( (binary_expression "local_44[2] != 0" (subscript_expression "local_44[2]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }" { (expression_statement "uVar14 = 0xffffffff;" (assignment_expression "uVar14 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar5 = PTR_s_a_out_001c241c;" (assignment_expression "pcVar5 = PTR_s_a_out_001c241c" identifier = identifier) ;) (do_statement "do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');" do (compound_statement "{\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        }" { (if_statement "if (uVar14 == 0) break;" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar14 = uVar14 - 1;" (assignment_expression "uVar14 = uVar14 - 1" identifier = (binary_expression "uVar14 - 1" identifier - number_literal)) ;) (expression_statement "cVar3 = *pcVar5;" (assignment_expression "cVar3 = *pcVar5" identifier = (pointer_expression "*pcVar5" * identifier)) ;) (expression_statement "pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;" (assignment_expression "pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pcVar5 + (uint)bVar25 * -2 + 1" (binary_expression "pcVar5 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "uVar14 = ~uVar14;" (assignment_expression "uVar14 = ~uVar14" identifier = (unary_expression "~uVar14" ~ identifier)) ;) (if_statement "if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }" if (parenthesized_expression "(uVar14 - 1 < 4)" ( (binary_expression "uVar14 - 1 < 4" (binary_expression "uVar14 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }" { (labeled_statement "LAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;" statement_identifier : (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0x1000;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0x1000" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17755;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17755" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = xmalloc();" (assignment_expression "uVar7 = xmalloc()" identifier = (call_expression "xmalloc()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar16 + -0x10) = uVar14 + 4;" (assignment_expression "*(uint *)(puVar16 + -0x10) = uVar14 + 4" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "uVar14 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1775f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1775f" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar9 = (byte *)xmalloc();" (assignment_expression "pbVar9 = (byte *)xmalloc()" identifier = (cast_expression "(byte *)xmalloc()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar2 = PTR_s_a_out_001c241c;" (assignment_expression "puVar2 = PTR_s_a_out_001c241c" identifier = identifier) ;) (expression_statement "local_3c = pbVar9;" (assignment_expression "local_3c = pbVar9" identifier = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar16 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar16 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar16 + -0x10)" * (cast_expression "(byte **)(puVar16 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17771;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17771" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "builtin_strncpy(pcVar5,".exe",5);" (call_expression "builtin_strncpy(pcVar5,".exe",5)" identifier (argument_list "(pcVar5,".exe",5)" ( identifier , (string_literal "".exe"" " string_content ") , number_literal ))) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_0007dadc" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007dadc" & identifier)) ;) (expression_statement "*(undefined **)(puVar16 + -0x10) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0x10)" * (cast_expression "(undefined **)(puVar16 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1778a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1778a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "local_34 = pFVar6;" (assignment_expression "local_34 = pFVar6" identifier = identifier) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "w";" (assignment_expression "*(char **)(puVar16 + -0xc) = "w"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""w"" " string_content ")) ;) (expression_statement "*(byte **)(puVar16 + -0x10) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0x10) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0x10)" * (cast_expression "(byte **)(puVar16 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177a0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177a0" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }" if (parenthesized_expression "(pFVar6 == (FILE *)0x0)" ( (binary_expression "pFVar6 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: unable to open for source of copy `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_40 = PTR_s_a_out_001c241c;" (assignment_expression "local_40 = PTR_s_a_out_001c241c" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bef;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bef" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)(puVar16 + -0xc) = local_40;" (assignment_expression "*(char **)(puVar16 + -0xc) = local_40" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bfb;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bfb" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }" if (parenthesized_expression "(local_38 == (FILE *)0x0)" ( (binary_expression "local_38 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }" { (expression_statement "*(FILE **)(puVar16 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: unable to open for destination of copy `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bc2;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bc2" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(byte **)(puVar16 + -0xc) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0xc)" * (cast_expression "(byte **)(puVar16 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bcd;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bcd" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_40 = "%P: error writing file `%s\'\n";" (assignment_expression "local_40 = "%P: error writing file `%s\'\n"" identifier = (string_literal ""%P: error writing file `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (while_statement "while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }" { (expression_statement "*(FILE **)(puVar16 + -4) = local_34;" (assignment_expression "*(FILE **)(puVar16 + -4) = local_34" (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 0x1000;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 0x1000" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177ea;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177ea" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));" (assignment_expression "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier = (call_expression "fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier (argument_list "(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -0xc)" * (cast_expression "(size_t *)(puVar16 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -8)" * (cast_expression "(size_t *)(puVar16 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if ((int)sVar4 < 1) break;" if (parenthesized_expression "((int)sVar4 < 1)" ( (binary_expression "(int)sVar4 < 1" (cast_expression "(int)sVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(FILE **)(puVar16 + -4) = local_38;" (assignment_expression "*(FILE **)(puVar16 + -4) = local_38" (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)(puVar16 + -8) = sVar4;" (assignment_expression "*(size_t *)(puVar16 + -8) = sVar4" (pointer_expression "*(size_t *)(puVar16 + -8)" * (cast_expression "(size_t *)(puVar16 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177cf;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177cf" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));" (assignment_expression "sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier = (call_expression "fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier (argument_list "(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -0xc)" * (cast_expression "(size_t *)(puVar16 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -8)" * (cast_expression "(size_t *)(puVar16 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }" if (parenthesized_expression "(sVar4 != sVar10)" ( (binary_expression "sVar4 != sVar10" identifier != identifier) )) (compound_statement "{\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }" { (expression_statement "*(size_t *)(puVar16 + -4) = sVar10;" (assignment_expression "*(size_t *)(puVar16 + -4) = sVar10" (pointer_expression "*(size_t *)(puVar16 + -4)" * (cast_expression "(size_t *)(puVar16 + -4)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = local_40;" (assignment_expression "*(char **)(puVar16 + -0xc) = local_40" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b7a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b7a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(byte **)(puVar16 + -0xc) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0xc)" * (cast_expression "(byte **)(puVar16 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b85;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b85" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "*(FILE **)(puVar16 + -0x10) = local_34;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = local_34" (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177fe;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177fe" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fclose(*(FILE **)(puVar16 + -0x10));" (call_expression "fclose(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(FILE **)(puVar16 + -0x10) = local_38;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = local_38" (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17807;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17807" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = fclose(*(FILE **)(puVar16 + -0x10));" (assignment_expression "iVar13 = fclose(*(FILE **)(puVar16 + -0x10))" identifier = (call_expression "fclose(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }" if (parenthesized_expression "(iVar13 == -1)" ( (binary_expression "iVar13 == -1" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%P: error closing file `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b9e;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b9e" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(byte **)(puVar16 + -0xc) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0xc)" * (cast_expression "(byte **)(puVar16 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17ba9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17ba9" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(byte **)(puVar16 + -0x10) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0x10) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0x10)" * (cast_expression "(byte **)(puVar16 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1781e;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1781e" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar16 + -0x10));" (call_expression "free(*(void **)(puVar16 + -0x10))" identifier (argument_list "(*(void **)(puVar16 + -0x10))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17826;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17826" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar16 + -0x10));" (call_expression "free(*(void **)(puVar16 + -0x10))" identifier (argument_list "(*(void **)(puVar16 + -0x10))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }" else (compound_statement "{\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }" { (expression_statement "puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);" (assignment_expression "puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5)" identifier = (binary_expression "PTR_s_a_out_001c241c + (uVar14 - 5)" identifier + (parenthesized_expression "(uVar14 - 5)" ( (binary_expression "uVar14 - 5" identifier - number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_00080d7d" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_00080d7d" & identifier)) ;) (expression_statement "*(undefined **)(puVar16 + -0x10) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0x10)" * (cast_expression "(undefined **)(puVar16 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17720;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17720" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }" { (expression_statement "*(int *)(puVar16 + -4) = iVar13;" (assignment_expression "*(int *)(puVar16 + -4) = iVar13" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -8) = iVar13;" (assignment_expression "*(int *)(puVar16 + -8) = iVar13" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_00080d82;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_00080d82" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_00080d82" & identifier)) ;) (expression_statement "*(undefined **)(puVar16 + -0x10) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0x10)" * (cast_expression "(undefined **)(puVar16 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1773a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1773a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) goto LAB_00017745;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017745;" goto statement_identifier ;)) })) }))) })) (if_statement "if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }" if (parenthesized_expression "(local_4c[0xd] != 0)" ( (binary_expression "local_4c[0xd] != 0" (subscript_expression "local_4c[0xd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17aa6;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17aa6" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = FUN_0006f170();" (assignment_expression "iVar13 = FUN_0006f170()" identifier = (call_expression "FUN_0006f170()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_34 = (FILE *)(iVar13 - local_5c);" (assignment_expression "local_34 = (FILE *)(iVar13 - local_5c)" identifier = (cast_expression "(FILE *)(iVar13 - local_5c)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 - local_5c)" ( (binary_expression "iVar13 - local_5c" identifier - identifier) )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stdout_001c1fdc" * (cast_expression "(undefined4 *)PTR_stdout_001c1fdc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17ac1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17ac1" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar16 + -0x10));" (call_expression "fflush(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar7 = *local_60;" (assignment_expression "uVar7 = *local_60" identifier = (pointer_expression "*local_60" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: total time in link: %ld.%06ld\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17ad9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17ad9" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar2 = PTR_stderr_001c1fa8;" (assignment_expression "puVar2 = PTR_stderr_001c1fa8" identifier = identifier) ;) (expression_statement "iVar13 = (int)local_34 / 1000000;" (assignment_expression "iVar13 = (int)local_34 / 1000000" identifier = (binary_expression "(int)local_34 / 1000000" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_34 % 1000000" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_34 % 1000000" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal)) ;) (expression_statement "*(int *)(puVar16 + -0x14) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x14) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x14)" * (cast_expression "(int *)(puVar16 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x18) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x18) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x18)" * (cast_expression "(undefined4 *)(puVar16 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x1c)" * (cast_expression "(undefined4 *)(puVar16 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8" (pointer_expression "*(undefined4 *)(puVar16 + -0x20)" * (cast_expression "(undefined4 *)(puVar16 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stderr_001c1fa8" * (cast_expression "(undefined4 *)PTR_stderr_001c1fa8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x17af4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x17af4" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" * (cast_expression "(undefined4 *)(puVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x24)" ( (binary_expression "puVar16 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));" (call_expression "fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c))" identifier (argument_list "(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c))" ( (pointer_expression "*(FILE **)(puVar16 + -0x20)" * (cast_expression "(FILE **)(puVar16 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0x1c)" * (cast_expression "(char **)(puVar16 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar2" * (cast_expression "(undefined4 *)puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17afe;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17afe" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar16 + -0x10));" (call_expression "fflush(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "PTR_s_a_out_001c241c = (undefined *)0x0;" (assignment_expression "PTR_s_a_out_001c241c = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000172f3:\n      puVar17 = puVar16 + -0x10;" statement_identifier : (expression_statement "puVar17 = puVar16 + -0x10;" (assignment_expression "puVar17 = puVar16 + -0x10" identifier = (binary_expression "puVar16 + -0x10" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x172fd;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x172fd" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar6 = (FILE *)xexit();" (assignment_expression "pFVar6 = (FILE *)xexit()" identifier = (cast_expression "(FILE *)xexit()" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xexit()" identifier (argument_list "()" ( ))))) ;) (do_statement "do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);" do (compound_statement "{\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      }" { (if_statement "if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }" if (parenthesized_expression "((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27))" ( (binary_expression "(int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)" (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(local_38[-1]._unused2 + 0x27)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_38[-1]._unused2 + 0x27)" ( (binary_expression "local_38[-1]._unused2 + 0x27" (field_expression "local_38[-1]._unused2" (subscript_expression "local_38[-1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) )) (compound_statement "{\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }" { (expression_statement "local_34 = (FILE *)((int)&pFVar6->_flags + 2);" (assignment_expression "local_34 = (FILE *)((int)&pFVar6->_flags + 2)" identifier = (cast_expression "(FILE *)((int)&pFVar6->_flags + 2)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pFVar6->_flags + 2)" ( (binary_expression "(int)&pFVar6->_flags + 2" (cast_expression "(int)&pFVar6->_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar6->_flags" & (field_expression "pFVar6->_flags" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);" (assignment_expression "local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4)" identifier = (pointer_expression "*(byte **)(local_40 + (int)pFVar6 * 4 + 4)" * (cast_expression "(byte **)(local_40 + (int)pFVar6 * 4 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_40 + (int)pFVar6 * 4 + 4)" ( (binary_expression "local_40 + (int)pFVar6 * 4 + 4" (binary_expression "local_40 + (int)pFVar6 * 4" identifier + (binary_expression "(int)pFVar6 * 4" (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }" else (compound_statement "{\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }" { (expression_statement "*(FILE **)(puVar17 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar17 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar17 + -4)" * (cast_expression "(FILE **)(puVar17 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: missing argument to -m\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x174c3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x174c3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x174cb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x174cb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) }))) (labeled_statement "LAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);" statement_identifier : (do_statement "do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);" do (compound_statement "{\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        }" { (expression_statement "bVar23 = local_38 < local_34;" (assignment_expression "bVar23 = local_38 < local_34" identifier = (binary_expression "local_38 < local_34" identifier < identifier)) ;) (expression_statement "bVar24 = local_38 == local_34;" (assignment_expression "bVar24 = local_38 == local_34" identifier = (binary_expression "local_38 == local_34" identifier == identifier)) ;) (expression_statement "pFVar6 = local_34;" (assignment_expression "pFVar6 = local_34" identifier = identifier) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if ((int)local_38 <= (int)local_34) goto LAB_000171e4;" if (parenthesized_expression "((int)local_38 <= (int)local_34)" ( (binary_expression "(int)local_38 <= (int)local_34" (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000171e4;" goto statement_identifier ;)) (labeled_statement "LAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);" statement_identifier : (expression_statement "pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);" (assignment_expression "pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4)" identifier = (pointer_expression "*(byte **)(local_40 + (int)pFVar6 * 4)" * (cast_expression "(byte **)(local_40 + (int)pFVar6 * 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_40 + (int)pFVar6 * 4)" ( (binary_expression "local_40 + (int)pFVar6 * 4" identifier + (binary_expression "(int)pFVar6 * 4" (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;)) (expression_statement "iVar13 = 2;" (assignment_expression "iVar13 = 2" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar9;" (assignment_expression "pbVar19 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar21 = local_50;" (assignment_expression "pbVar21 = local_50" identifier = identifier) ;) (do_statement "do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);" do (compound_statement "{\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar19 < *pbVar21;" (assignment_expression "bVar23 = *pbVar19 < *pbVar21" identifier = (binary_expression "*pbVar19 < *pbVar21" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar21;" (assignment_expression "bVar24 = *pbVar19 == *pbVar21" identifier = (binary_expression "*pbVar19 == *pbVar21" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "local_34 = (FILE *)((int)&pFVar6->_flags + 1);" (assignment_expression "local_34 = (FILE *)((int)&pFVar6->_flags + 1)" identifier = (cast_expression "(FILE *)((int)&pFVar6->_flags + 1)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pFVar6->_flags + 1)" ( (binary_expression "(int)&pFVar6->_flags + 1" (cast_expression "(int)&pFVar6->_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar6->_flags" & (field_expression "pFVar6->_flags" identifier -> field_identifier))) + number_literal) )))) ;) }) while (parenthesized_expression "((!bVar23 && !bVar24) != bVar23)" ( (binary_expression "(!bVar23 && !bVar24) != bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) ;)) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar24 = pbVar9[2] == 0;" (assignment_expression "bVar24 = pbVar9[2] == 0" identifier = (binary_expression "pbVar9[2] == 0" (subscript_expression "pbVar9[2]" identifier [ number_literal ]) == number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "iVar13 = 7;" (assignment_expression "iVar13 = 7" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar9;" (assignment_expression "pbVar19 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar21 = local_58;" (assignment_expression "pbVar21 = local_58" identifier = identifier) ;) (do_statement "do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);" do (compound_statement "{\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      }" { (expression_statement "pbVar18 = pbVar19;" (assignment_expression "pbVar18 = pbVar19" identifier = identifier) ;) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" identifier = identifier) ;) (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ;) (expression_statement "pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "bVar23 = *pbVar19 < *pbVar21;" (assignment_expression "bVar23 = *pbVar19 < *pbVar21" identifier = (binary_expression "*pbVar19 < *pbVar21" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar21;" (assignment_expression "bVar24 = *pbVar19 == *pbVar21" identifier = (binary_expression "*pbVar19 == *pbVar21" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "cVar3 = (!bVar23 && !bVar24) - bVar23;" (assignment_expression "cVar3 = (!bVar23 && !bVar24) - bVar23" identifier = (binary_expression "(!bVar23 && !bVar24) - bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) - identifier)) ;) (expression_statement "uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);" (assignment_expression "uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3)" identifier = (call_expression "CONCAT31((int3)((uint)pFVar6 >> 8),cVar3)" identifier (argument_list "((int3)((uint)pFVar6 >> 8),cVar3)" ( (call_expression "(int3)((uint)pFVar6 >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "((uint)pFVar6 >> 8)" ( (binary_expression "(uint)pFVar6 >> 8" (cast_expression "(uint)pFVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) , identifier )))) ;) (if_statement "if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = local_64;" (assignment_expression "*(char **)(puVar17 + -0xc) = local_64" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_68 = pbVar9;" (assignment_expression "local_68 = pbVar9" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1737f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1737f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" { (expression_statement "*(byte **)(puVar17 + -4) = pbVar20;" (assignment_expression "*(byte **)(puVar17 + -4) = pbVar20" (pointer_expression "*(byte **)(puVar17 + -4)" * (cast_expression "(byte **)(puVar17 + -4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar17 + -8) = pbVar20;" (assignment_expression "*(byte **)(puVar17 + -8) = pbVar20" (pointer_expression "*(byte **)(puVar17 + -8)" * (cast_expression "(byte **)(puVar17 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips3";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips3"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips3"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17398;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17398" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "*(byte **)(puVar17 + -4) = pbVar18;" (assignment_expression "*(byte **)(puVar17 + -4) = pbVar18" (pointer_expression "*(byte **)(puVar17 + -4)" * (cast_expression "(byte **)(puVar17 + -4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar17 + -8) = pbVar18;" (assignment_expression "*(byte **)(puVar17 + -8) = pbVar18" (pointer_expression "*(byte **)(puVar17 + -8)" * (cast_expression "(byte **)(puVar17 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips4";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips4"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips4"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x173b1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x173b1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips5";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips5"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips5"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x173ce;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x173ce" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = extraout_EDX;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = extraout_EDX" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = extraout_EDX;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = extraout_EDX" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips32";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips32"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips32"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x173eb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x173eb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips32r2";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips32r2"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips32r2"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17408;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17408" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips32r6";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips32r6"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips32r6"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17425;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17425" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips64";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips64"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips64"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17442;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17442" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips64r2";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips64r2"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips64r2"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1745f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1745f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips64r6";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips64r6"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips64r6"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1747c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1747c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-m486";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-m486"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-m486"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17499;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17499" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                              local_54 = local_68 + 2;\n                            }" { (expression_statement "local_54 = local_68 + 2;" (assignment_expression "local_54 = local_68 + 2" identifier = (binary_expression "local_68 + 2" identifier + number_literal)) ;) })) })) })) })) })) })) })) })) })) })) })) })) (goto_statement "goto LAB_00017328;" goto statement_identifier ;) })) (if_statement "if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }" if (parenthesized_expression "(DAT_001c4768 != 0)" ( (binary_expression "DAT_001c4768 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }" { (expression_statement "*(int **)(puVar16 + -4) = &DAT_001c4768;" (assignment_expression "*(int **)(puVar16 + -4) = &DAT_001c4768" (pointer_expression "*(int **)(puVar16 + -4)" * (cast_expression "(int **)(puVar16 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = (pointer_expression "&DAT_001c4768" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%P: link errors found, deleting executable `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b5c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b65;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b65" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar17 = puVar16 + -0x10;" (assignment_expression "puVar17 = puVar16 + -0x10" identifier = (binary_expression "puVar16 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17657;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17657" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "xexit();" (call_expression "xexit()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00017657:\n    local_54 = (byte *)0x80c15;" statement_identifier : (expression_statement "local_54 = (byte *)0x80c15;" (assignment_expression "local_54 = (byte *)0x80c15" identifier = (cast_expression "(byte *)0x80c15" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) 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  undefined1 *puVar1;\n  byte *pbVar2;\n  undefined *puVar3;\n  ld_config_type *plVar4;\n  char cVar5;\n  size_t sVar6;\n  char *pcVar7;\n  bfd *pbVar8;\n  undefined4 uVar9;\n  FILE *pFVar10;\n  bfd_link_info *pbVar11;\n  char *pcVar12;\n  size_t sVar13;\n  input_type *piVar14;\n  FILE *pFVar15;\n  long lVar16;\n  undefined4 uVar17;\n  int iVar18;\n  undefined4 extraout_ECX;\n  uint uVar19;\n  undefined4 extraout_EDX;\n  uint uVar20;\n  undefined4 extraout_EDX_00;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  byte *pbVar23;\n  byte *pbVar25;\n  char **ppcVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  int aiStack_b4 [13];\n  undefined1 auStack_70 [8];\n  byte *local_68;\n  char *local_64;\n  char **local_60;\n  long local_5c;\n  byte *local_58;\n  byte *local_54;\n  byte *local_50;\n  ld_config_type *local_4c;\n  input_type *local_48;\n  args_type *local_44;\n  char *local_40;\n  bfd_link_info *local_3c;\n  bfd *local_38;\n  bfd *local_34;\n  int local_24 [3];\n  input_type *piStack_18;\n  byte *pbVar24;\n  byte *pbVar26;\n  \n  bVar30 = 0;\n  local_48 = (input_type *)&argc;\n  piStack_18 = (input_type *)&argc;\n  local_5c = get_run_time();\n  local_40 = "";\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  local_60 = &program_name;\n  program_name = *argv;\n  xmalloc_set_program_name();\n  expandargv(&argc,&argv);\n  bfd_init();\n  bfd_set_error_program_name();\n  default_bfd_assert_handler = (bfd_assert_handler_type)bfd_set_assert_handler();\n  default_bfd_error_handler = (bfd_error_handler_type)bfd_set_error_handler();\n  xatexit(ld_cleanup);\n  local_34 = (bfd *)argv;\n  local_38 = (bfd *)argc;\n  bVar28 = argc == 0;\n  bVar29 = argc == 1;\n  if (1 < argc) {\n    pcVar7 = "--sysroot=";\n    uVar19 = 1;\n    do {\n      iVar18 = 10;\n      pbVar2 = (byte *)argv[uVar19];\n      pbVar24 = pbVar2;\n      pbVar26 = (byte *)pcVar7;\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      local_3c = (bfd_link_info *)pcVar7;\n      if ((!bVar28 && !bVar29) == bVar28) {\n        ld_sysroot = (char *)(pbVar2 + 10);\n        if (pbVar2[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar19 = uVar19 + 1;\n      bVar28 = (uint)argc < uVar19;\n      bVar29 = argc == uVar19;\n    } while (!bVar29);\n  }\n  ld_sysroot = "/";\nLAB_000174e1:\n  ld_canon_sysroot = (char *)lrealpath();\nLAB_00017033:\n  pcVar7 = ld_canon_sysroot;\n  puVar22 = auStack_70;\n  if (ld_canon_sysroot == (char *)0x0) {\n    ld_canon_sysroot_len = -1;\n    sVar6 = ld_canon_sysroot_len;\n  }\n  else {\n    sVar6 = strlen(ld_canon_sysroot);\n    if (sVar6 != 0) {\n      ld_canon_sysroot_len = sVar6 - 1;\n      if (pcVar7[ld_canon_sysroot_len] == '/') {\n        pcVar7[ld_canon_sysroot_len] = '\0';\n        sVar6 = ld_canon_sysroot_len;\n      }\n    }\n  }\n  ld_canon_sysroot_len = sVar6;\n  iVar18 = bfd_set_default_target();\n  if (iVar18 == 0) {\n    pcVar7 = (char *)dcgettext();\n    puVar22 = &stack0xffffff80;\n    einfo(pcVar7);\n    xexit();\n  }\n  config.build_constructors = 1;\n  config.rpath_separator = ':';\n  config.split_by_reloc = 0xffffffff;\n  config.split_by_file._0_4_ = 0xffffffff;\n  config.split_by_file._4_4_ = 0xffffffff;\n  config.make_executable = 1;\n  config.magic_demand_paged = 1;\n  config.text_read_only = 1;\n  local_4c = &config;\n  link_info.disable_target_specific_optimizations = -1;\n  command_line.warn_mismatch = 1;\n  command_line.warn_search_mismatch = 1;\n  command_line.check_section_addresses = -1;\n  local_44 = &command_line;\n  *(char **)(puVar22 + -0x10) = "COLLECT_NO_DEMANGLE";\n  local_3c = &link_info;\n  *(undefined4 *)(puVar22 + -0x14) = 0x17116;\n  pcVar7 = getenv(*(char **)(puVar22 + -0x10));\n  link_info.relax_pass = 1;\n  link_info.extern_protected_data = -1;\n  demangling = (bfd_boolean)(pcVar7 == (char *)0x0);\n  link_info._0_4_ = link_info._0_4_ | 0x4000400;\n  link_info.callbacks = &link_callbacks;\n  link_info.input_bfds_tail = &link_info.input_bfds;\n  link_info.init_function = "_init";\n  link_info.fini_function = "_fini";\n  link_info.dynamic_undefined_weak = -1;\n  local_34 = (bfd *)CONCAT22(local_34._2_2_,link_info._4_2_);\n  link_info._4_2_ = link_info._4_2_ & 0xceb3 | 0x214c;\n  link_info.pei386_auto_import = -1;\n  link_info.spare_dynamic_tags = 5;\n  link_info.path_separator = ':';\n  *(char **)(puVar22 + -0x10) = local_40;\n  *(undefined4 *)(puVar22 + -0x14) = 0x17190;\n  ldfile_add_arch(*(char **)(puVar22 + -0x10));\n  local_40 = (char *)local_48[1];\n  local_38 = (bfd *)*local_48;\n  *(char **)(puVar22 + -0x10) = "LDEMULATION";\n  *(undefined4 *)(puVar22 + -0x14) = 0x171ac;\n  local_54 = (byte *)getenv(*(char **)(puVar22 + -0x10));\n  if (local_54 == (byte *)0x0) goto LAB_00017657;\n  do {\n    bVar28 = local_38 == (bfd *)0x0;\n    bVar29 = local_38 == (bfd *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pbVar8 = (bfd *)0x1;\n    puVar21 = puVar22;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar21 + -0x10) = local_54;\n    *(undefined4 *)(puVar21 + -0x14) = 0x171ef;\n    ldemul_choose_mode(*(char **)(puVar21 + -0x10));\n    piVar14 = local_48;\n    *(input_type *)(puVar21 + -0xc) = local_48[1];\n    *(input_type *)(puVar21 + -0x10) = *piVar14;\n    *(undefined4 *)(puVar21 + -0x14) = 0x171fe;\n    default_target = ldemul_choose_target(*(int *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1720b;\n    lang_init();\n    *(undefined4 *)(puVar21 + -0x14) = 0x17210;\n    ldexp_init();\n    *(undefined4 *)(puVar21 + -0x14) = 0x17215;\n    ldemul_before_parse();\n    lang_has_input_file = 0;\n    ppcVar27 = *(char ***)(puVar21 + -0xc);\n    *(input_type *)(puVar21 + -0xc) = piVar14[1];\n    *(input_type *)(puVar21 + -0x10) = *piVar14;\n    local_38 = (bfd *)&lang_has_input_file;\n    *(undefined4 *)(puVar21 + -0x14) = 0x17230;\n    parse_args(*(uint *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));\n    if (local_4c->hash_table_size != 0) {\n      *(ulong *)(puVar21 + -0x10) = local_4c->hash_table_size;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17246;\n    plugin_load_plugins();\n    *(undefined4 *)(puVar21 + -4) = 0x1724b;\n    ldemul_set_symbols();\n    if (saved_script_handle == (FILE *)0x0) {\n      if (local_44->default_script != (char *)0x0) {\n        *(char **)(puVar21 + -0x10) = local_44->default_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1795f;\n        ldfile_open_command_file(*(char **)(puVar21 + -0x10));\n        piVar14 = &parser_input;\n        parser_input = input_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17970;\n        yyparse();\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017258;\n      }\n      piVar14 = &parser_input;\n      *(int **)(puVar21 + -0x10) = local_24;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1798c;\n      pbVar8 = (bfd *)ldemul_get_script(*(int **)(puVar21 + -0x10));\n      if (local_24[0] == 0) {\n        local_34 = pbVar8;\n        *(bfd **)(puVar21 + -4) = pbVar8;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179b5;\n        lex_string = (char *)pbVar8;\n        uVar9 = dcgettext();\n        pbVar8 = local_34;\n        *(undefined4 *)(puVar21 + -8) = 1;\n        *(undefined4 *)(puVar21 + -0xc) = uVar9;\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179c4;\n        lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))\n        ;\n      }\n      else {\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b37;\n        ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));\n      }\n      ppcVar27 = &lex_string;\n      parser_input = input_script;\n      *(undefined4 *)(puVar21 + -4) = 0x179d2;\n      yyparse();\n      lex_string = (char *)0x0;\n      if (verbose != 0) {\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017845;\n        pcVar7 = "using internal linker script:";\n        *(input_type **)(puVar21 + -4) = &parser_input;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (verbose != 0) {\nLAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        pcVar7 = "using external linker script:";\n        *(undefined4 *)(puVar21 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17856;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;\n        info_msg(*(char **)(puVar21 + -0x10));\n        local_34 = (bfd *)0x8076c;\n        *(char **)(puVar21 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar21 + -0x14) = 0x17873;\n        info_msg(*(char **)(puVar21 + -0x10));\n        if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        *(bfd **)(puVar21 + -0x10) = local_34;\n        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;\n        info_msg(*(char **)(puVar21 + -0x10));\n      }\n    }\n    uVar19 = 1;\n    if (local_44->force_group_allocation == 0) {\n      local_34 = (bfd *)((uint)local_34 & 0xffffff00);\n      uVar19 = (uint)((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2);\n    }\n    local_34 = (bfd *)CONCAT31(local_34._1_3_,local_3c->field_0x1);\n    local_3c->field_0x1 = local_3c->field_0x1 & 0xef | (byte)(uVar19 << 4);\n    if (local_44->print_output_format != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17920;\n      pcVar7 = lang_get_output_target();\n      *(undefined4 *)(puVar21 + -4) = extraout_EDX_00;\n      *(undefined4 *)(puVar21 + -8) = extraout_EDX_00;\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined **)(puVar21 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1792f;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x172ad;\n    lang_final();\n    if ((*local_48 == input_mri_script) && (version_printed != 0)) goto LAB_000172f3;\n    if ((local_3c->field_0x7 & 0x20) != 0) {\n      local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n      if ((*(byte *)local_3c & 3) != 3) {\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17680;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17688;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n    }\n    pbVar8 = local_38;\n    if (local_38->filename == (char *)0x0) {\n      if (version_printed != 0 || local_44->print_output_format != 0) goto LAB_000172f3;\n      *(input_type **)(puVar21 + -4) = piVar14;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1751c;\n      pbVar8 = (bfd *)dcgettext();\n      *(bfd **)(puVar21 + -0x10) = pbVar8;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17524;\n      einfo(*(char **)(puVar21 + -0x10));\n    }\n    if (trace_files != 0) {\n      *(bfd **)(puVar21 + -4) = pbVar8;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176aa;\n      uVar9 = dcgettext();\n      *(byte **)(puVar21 + -0xc) = local_54;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176b5;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x1753b;\n    ldemul_after_parse();\n    plVar4 = local_4c;\n    pcVar7 = local_4c->map_filename;\n    if (pcVar7 != (char *)0x0) {\n      *(ld_config_type **)(puVar21 + -4) = local_4c;\n      *(ld_config_type **)(puVar21 + -8) = plVar4;\n      *(undefined **)(puVar21 + -0xc) = &DAT_000700e6;\n      *(char **)(puVar21 + -0x10) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17554;\n      iVar18 = strcmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n      if (iVar18 == 0) {\n        local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar21 + -4) = iVar18;\n        *(int *)(puVar21 + -8) = iVar18;\n        *(char **)(puVar21 + -0xc) = "w";\n        *(char **)(puVar21 + -0x10) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17a5c;\n        pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n        local_4c->map_file = (FILE *)pFVar15;\n        if (pFVar15 == (FILE *)0x0) {\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }\n      }\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17572;\n    lang_process();\n    local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n    if ((*(byte *)local_3c & 3) == 2) {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 | 0x40;\n    }\n    if ((local_3c->compress_debug & COMPRESS_DEBUG) != COMPRESS_DEBUG_NONE) {\n      local_34 = local_3c->output_bfd;\n      uVar20 = (uint)*(char **)&local_34->field_0x28 >> 5 & 0xfffff;\n      uVar19 = uVar20 | 0x24000;\n      if (local_3c->compress_debug != COMPRESS_DEBUG_GABI_ZLIB) {\n        uVar19 = uVar20 | 0x4000;\n      }\n      *(char **)&local_34->field_0x28 =\n           (char *)(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x175dd;\n    ldwrite();\n    plVar4 = local_4c;\n    if (local_4c->map_file == (FILE *)0x0) {\n      if (local_44->cref != 0) {\nLAB_00017a0f:\n        pFVar10 = *(FILE **)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -4) = 0x175ef;\n      lang_map();\n      if (local_44->cref != 0) {\n        pFVar10 = plVar4->map_file;\n        if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;\nLAB_00017603:\n        *(FILE **)(puVar21 + -0x10) = pFVar10;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1760c;\n        output_cref(*(FILE **)(puVar21 + -0x10));\n      }\n    }\n    if (nocrossref_list != (lang_nocrossrefs *)0x0) {\n      *(undefined4 *)(puVar21 + -4) = 0x1761f;\n      check_nocrossrefs();\n    }\n    if (local_44->print_memory_usage != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17a21;\n      lang_print_memory_usage();\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17631;\n    ldexp_finish();\n    *(undefined4 *)(puVar21 + -4) = 0x17636;\n    lang_finish();\n    pcVar7 = output_filename;\n    if (local_4c->make_executable != 0 || force_make_executable != 0) {\n      *(bfd **)(puVar21 + -0x10) = local_3c->output_bfd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176cb;\n      iVar18 = bfd_close();\n      if (iVar18 == 0) {\n        pbVar8 = local_3c->output_bfd;\n        *(bfd_link_info **)(puVar21 + -4) = local_3c;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b1d;\n        uVar9 = dcgettext();\n        *(bfd **)(puVar21 + -0xc) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b26;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n      if (((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2) && (local_44->force_exe_suffix != 0)) {\n        uVar19 = 0xffffffff;\n        pcVar7 = output_filename;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar5 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;\n        } while (cVar5 != '\0');\n        uVar19 = ~uVar19;\n        if (uVar19 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17755;\n          uVar9 = xmalloc();\n          *(uint *)(puVar21 + -0x10) = uVar19 + 4;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;\n          pbVar11 = (bfd_link_info *)xmalloc();\n          pcVar7 = output_filename;\n          local_3c = pbVar11;\n          *(char **)(puVar21 + -0xc) = output_filename;\n          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17771;\n          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          builtin_strncpy(pcVar12,".exe",5);\n          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;\n          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          local_34 = pbVar8;\n          *(char **)(puVar21 + -0xc) = "w";\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;\n          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }\n          *(bfd **)(puVar21 + -0x10) = local_34;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar21 + -0x10));\n          *(bfd **)(puVar21 + -0x10) = local_38;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17807;\n          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));\n          if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;\n          free(*(void **)(puVar21 + -0x10));\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17826;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        else {\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c->stats != 0) {\n        *(undefined4 *)(puVar21 + -4) = 0x17aa6;\n        lVar16 = get_run_time();\n        local_34 = (bfd *)(lVar16 - local_5c);\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar21 + -0x10));\n        pcVar7 = *local_60;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ad9;\n        uVar9 = dcgettext();\n        puVar3 = PTR_stderr_001c1fa8;\n        iVar18 = (int)local_34 / 1000000;\n        *(int *)(puVar21 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar21 + -0x14) = iVar18;\n        *(char **)(puVar21 + -0x18) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x1c) = uVar9;\n        *(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar21 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c));\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar21 + -0x10));\n      }\n      output_filename = (char *)0x0;\nLAB_000172f3:\n      puVar22 = puVar21 + -0x10;\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x172fd;\n      pbVar8 = (bfd *)xexit();\n      do {\n        if ((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)) {\n          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);\n          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);\n        }\n        else {\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }\nLAB_00017328:\n        do {\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        } while ((!bVar28 && !bVar29) != bVar28);\n        bVar28 = false;\n        bVar29 = pbVar2[2] == 0;\n      } while (bVar29);\n      iVar18 = 7;\n      pbVar24 = pbVar2;\n      pbVar26 = local_58;\n      do {\n        pbVar23 = pbVar24;\n        pbVar25 = pbVar26;\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1;\n        pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar23;\n        pbVar26 = pbVar25;\n      } while (bVar29);\n      cVar5 = (!bVar28 && !bVar29) - bVar28;\n      uVar9 = CONCAT31((int3)((uint)pbVar8 >> 8),cVar5);\n      if (cVar5 != '\0') {\n        *(undefined4 *)(puVar22 + -4) = uVar9;\n        *(undefined4 *)(puVar22 + -8) = uVar9;\n        *(char **)(puVar22 + -0xc) = local_64;\n        *(byte **)(puVar22 + -0x10) = pbVar2;\n        local_68 = pbVar2;\n        *(undefined4 *)(puVar22 + -0x14) = 0x1737f;\n        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n        pbVar2 = local_68;\n        if (iVar18 != 0) {\n          *(byte **)(puVar22 + -4) = pbVar25;\n          *(byte **)(puVar22 + -8) = pbVar25;\n          *(char **)(puVar22 + -0xc) = "-mips3";\n          *(byte **)(puVar22 + -0x10) = pbVar2;\n          *(undefined4 *)(puVar22 + -0x14) = 0x17398;\n          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n          pbVar2 = local_68;\n          if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (trace_files != 0) {\n      *(bfd_boolean **)(puVar21 + -4) = &trace_files;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b5c;\n      uVar9 = dcgettext();\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b65;\n      einfo(*(char **)(puVar21 + -0x10));\n    }\n    puVar22 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = 1;\n    *(undefined4 *)(puVar21 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );\n}\n\n" comment (function_definition "int main(int argc,char **argv)\n\n{\n  undefined1 *puVar1;\n  byte *pbVar2;\n  undefined *puVar3;\n  ld_config_type *plVar4;\n  char cVar5;\n  size_t sVar6;\n  char *pcVar7;\n  bfd *pbVar8;\n  undefined4 uVar9;\n  FILE *pFVar10;\n  bfd_link_info *pbVar11;\n  char *pcVar12;\n  size_t sVar13;\n  input_type *piVar14;\n  FILE *pFVar15;\n  long lVar16;\n  undefined4 uVar17;\n  int iVar18;\n  undefined4 extraout_ECX;\n  uint uVar19;\n  undefined4 extraout_EDX;\n  uint uVar20;\n  undefined4 extraout_EDX_00;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  byte *pbVar23;\n  byte *pbVar25;\n  char **ppcVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  int aiStack_b4 [13];\n  undefined1 auStack_70 [8];\n  byte *local_68;\n  char *local_64;\n  char **local_60;\n  long local_5c;\n  byte *local_58;\n  byte *local_54;\n  byte *local_50;\n  ld_config_type *local_4c;\n  input_type *local_48;\n  args_type *local_44;\n  char *local_40;\n  bfd_link_info *local_3c;\n  bfd *local_38;\n  bfd *local_34;\n  int local_24 [3];\n  input_type *piStack_18;\n  byte *pbVar24;\n  byte *pbVar26;\n  \n  bVar30 = 0;\n  local_48 = (input_type *)&argc;\n  piStack_18 = (input_type *)&argc;\n  local_5c = get_run_time();\n  local_40 = "";\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  local_60 = &program_name;\n  program_name = *argv;\n  xmalloc_set_program_name();\n  expandargv(&argc,&argv);\n  bfd_init();\n  bfd_set_error_program_name();\n  default_bfd_assert_handler = (bfd_assert_handler_type)bfd_set_assert_handler();\n  default_bfd_error_handler = (bfd_error_handler_type)bfd_set_error_handler();\n  xatexit(ld_cleanup);\n  local_34 = (bfd *)argv;\n  local_38 = (bfd *)argc;\n  bVar28 = argc == 0;\n  bVar29 = argc == 1;\n  if (1 < argc) {\n    pcVar7 = "--sysroot=";\n    uVar19 = 1;\n    do {\n      iVar18 = 10;\n      pbVar2 = (byte *)argv[uVar19];\n      pbVar24 = pbVar2;\n      pbVar26 = (byte *)pcVar7;\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      local_3c = (bfd_link_info *)pcVar7;\n      if ((!bVar28 && !bVar29) == bVar28) {\n        ld_sysroot = (char *)(pbVar2 + 10);\n        if (pbVar2[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar19 = uVar19 + 1;\n      bVar28 = (uint)argc < uVar19;\n      bVar29 = argc == uVar19;\n    } while (!bVar29);\n  }\n  ld_sysroot = "/";\nLAB_000174e1:\n  ld_canon_sysroot = (char *)lrealpath();\nLAB_00017033:\n  pcVar7 = ld_canon_sysroot;\n  puVar22 = auStack_70;\n  if (ld_canon_sysroot == (char *)0x0) {\n    ld_canon_sysroot_len = -1;\n    sVar6 = ld_canon_sysroot_len;\n  }\n  else {\n    sVar6 = strlen(ld_canon_sysroot);\n    if (sVar6 != 0) {\n      ld_canon_sysroot_len = sVar6 - 1;\n      if (pcVar7[ld_canon_sysroot_len] == '/') {\n        pcVar7[ld_canon_sysroot_len] = '\0';\n        sVar6 = ld_canon_sysroot_len;\n      }\n    }\n  }\n  ld_canon_sysroot_len = sVar6;\n  iVar18 = bfd_set_default_target();\n  if (iVar18 == 0) {\n    pcVar7 = (char *)dcgettext();\n    puVar22 = &stack0xffffff80;\n    einfo(pcVar7);\n    xexit();\n  }\n  config.build_constructors = 1;\n  config.rpath_separator = ':';\n  config.split_by_reloc = 0xffffffff;\n  config.split_by_file._0_4_ = 0xffffffff;\n  config.split_by_file._4_4_ = 0xffffffff;\n  config.make_executable = 1;\n  config.magic_demand_paged = 1;\n  config.text_read_only = 1;\n  local_4c = &config;\n  link_info.disable_target_specific_optimizations = -1;\n  command_line.warn_mismatch = 1;\n  command_line.warn_search_mismatch = 1;\n  command_line.check_section_addresses = -1;\n  local_44 = &command_line;\n  *(char **)(puVar22 + -0x10) = "COLLECT_NO_DEMANGLE";\n  local_3c = &link_info;\n  *(undefined4 *)(puVar22 + -0x14) = 0x17116;\n  pcVar7 = getenv(*(char **)(puVar22 + -0x10));\n  link_info.relax_pass = 1;\n  link_info.extern_protected_data = -1;\n  demangling = (bfd_boolean)(pcVar7 == (char *)0x0);\n  link_info._0_4_ = link_info._0_4_ | 0x4000400;\n  link_info.callbacks = &link_callbacks;\n  link_info.input_bfds_tail = &link_info.input_bfds;\n  link_info.init_function = "_init";\n  link_info.fini_function = "_fini";\n  link_info.dynamic_undefined_weak = -1;\n  local_34 = (bfd *)CONCAT22(local_34._2_2_,link_info._4_2_);\n  link_info._4_2_ = link_info._4_2_ & 0xceb3 | 0x214c;\n  link_info.pei386_auto_import = -1;\n  link_info.spare_dynamic_tags = 5;\n  link_info.path_separator = ':';\n  *(char **)(puVar22 + -0x10) = local_40;\n  *(undefined4 *)(puVar22 + -0x14) = 0x17190;\n  ldfile_add_arch(*(char **)(puVar22 + -0x10));\n  local_40 = (char *)local_48[1];\n  local_38 = (bfd *)*local_48;\n  *(char **)(puVar22 + -0x10) = "LDEMULATION";\n  *(undefined4 *)(puVar22 + -0x14) = 0x171ac;\n  local_54 = (byte *)getenv(*(char **)(puVar22 + -0x10));\n  if (local_54 == (byte *)0x0) goto LAB_00017657;\n  do {\n    bVar28 = local_38 == (bfd *)0x0;\n    bVar29 = local_38 == (bfd *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pbVar8 = (bfd *)0x1;\n    puVar21 = puVar22;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar21 + -0x10) = local_54;\n    *(undefined4 *)(puVar21 + -0x14) = 0x171ef;\n    ldemul_choose_mode(*(char **)(puVar21 + -0x10));\n    piVar14 = local_48;\n    *(input_type *)(puVar21 + -0xc) = local_48[1];\n    *(input_type *)(puVar21 + -0x10) = *piVar14;\n    *(undefined4 *)(puVar21 + -0x14) = 0x171fe;\n    default_target = ldemul_choose_target(*(int *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1720b;\n    lang_init();\n    *(undefined4 *)(puVar21 + -0x14) = 0x17210;\n    ldexp_init();\n    *(undefined4 *)(puVar21 + -0x14) = 0x17215;\n    ldemul_before_parse();\n    lang_has_input_file = 0;\n    ppcVar27 = *(char ***)(puVar21 + -0xc);\n    *(input_type *)(puVar21 + -0xc) = piVar14[1];\n    *(input_type *)(puVar21 + -0x10) = *piVar14;\n    local_38 = (bfd *)&lang_has_input_file;\n    *(undefined4 *)(puVar21 + -0x14) = 0x17230;\n    parse_args(*(uint *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));\n    if (local_4c->hash_table_size != 0) {\n      *(ulong *)(puVar21 + -0x10) = local_4c->hash_table_size;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17246;\n    plugin_load_plugins();\n    *(undefined4 *)(puVar21 + -4) = 0x1724b;\n    ldemul_set_symbols();\n    if (saved_script_handle == (FILE *)0x0) {\n      if (local_44->default_script != (char *)0x0) {\n        *(char **)(puVar21 + -0x10) = local_44->default_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1795f;\n        ldfile_open_command_file(*(char **)(puVar21 + -0x10));\n        piVar14 = &parser_input;\n        parser_input = input_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17970;\n        yyparse();\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017258;\n      }\n      piVar14 = &parser_input;\n      *(int **)(puVar21 + -0x10) = local_24;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1798c;\n      pbVar8 = (bfd *)ldemul_get_script(*(int **)(puVar21 + -0x10));\n      if (local_24[0] == 0) {\n        local_34 = pbVar8;\n        *(bfd **)(puVar21 + -4) = pbVar8;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179b5;\n        lex_string = (char *)pbVar8;\n        uVar9 = dcgettext();\n        pbVar8 = local_34;\n        *(undefined4 *)(puVar21 + -8) = 1;\n        *(undefined4 *)(puVar21 + -0xc) = uVar9;\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179c4;\n        lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))\n        ;\n      }\n      else {\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b37;\n        ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));\n      }\n      ppcVar27 = &lex_string;\n      parser_input = input_script;\n      *(undefined4 *)(puVar21 + -4) = 0x179d2;\n      yyparse();\n      lex_string = (char *)0x0;\n      if (verbose != 0) {\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017845;\n        pcVar7 = "using internal linker script:";\n        *(input_type **)(puVar21 + -4) = &parser_input;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (verbose != 0) {\nLAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        pcVar7 = "using external linker script:";\n        *(undefined4 *)(puVar21 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17856;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;\n        info_msg(*(char **)(puVar21 + -0x10));\n        local_34 = (bfd *)0x8076c;\n        *(char **)(puVar21 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar21 + -0x14) = 0x17873;\n        info_msg(*(char **)(puVar21 + -0x10));\n        if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        *(bfd **)(puVar21 + -0x10) = local_34;\n        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;\n        info_msg(*(char **)(puVar21 + -0x10));\n      }\n    }\n    uVar19 = 1;\n    if (local_44->force_group_allocation == 0) {\n      local_34 = (bfd *)((uint)local_34 & 0xffffff00);\n      uVar19 = (uint)((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2);\n    }\n    local_34 = (bfd *)CONCAT31(local_34._1_3_,local_3c->field_0x1);\n    local_3c->field_0x1 = local_3c->field_0x1 & 0xef | (byte)(uVar19 << 4);\n    if (local_44->print_output_format != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17920;\n      pcVar7 = lang_get_output_target();\n      *(undefined4 *)(puVar21 + -4) = extraout_EDX_00;\n      *(undefined4 *)(puVar21 + -8) = extraout_EDX_00;\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined **)(puVar21 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1792f;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x172ad;\n    lang_final();\n    if ((*local_48 == input_mri_script) && (version_printed != 0)) goto LAB_000172f3;\n    if ((local_3c->field_0x7 & 0x20) != 0) {\n      local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n      if ((*(byte *)local_3c & 3) != 3) {\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17680;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17688;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n    }\n    pbVar8 = local_38;\n    if (local_38->filename == (char *)0x0) {\n      if (version_printed != 0 || local_44->print_output_format != 0) goto LAB_000172f3;\n      *(input_type **)(puVar21 + -4) = piVar14;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1751c;\n      pbVar8 = (bfd *)dcgettext();\n      *(bfd **)(puVar21 + -0x10) = pbVar8;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17524;\n      einfo(*(char **)(puVar21 + -0x10));\n    }\n    if (trace_files != 0) {\n      *(bfd **)(puVar21 + -4) = pbVar8;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176aa;\n      uVar9 = dcgettext();\n      *(byte **)(puVar21 + -0xc) = local_54;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176b5;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x1753b;\n    ldemul_after_parse();\n    plVar4 = local_4c;\n    pcVar7 = local_4c->map_filename;\n    if (pcVar7 != (char *)0x0) {\n      *(ld_config_type **)(puVar21 + -4) = local_4c;\n      *(ld_config_type **)(puVar21 + -8) = plVar4;\n      *(undefined **)(puVar21 + -0xc) = &DAT_000700e6;\n      *(char **)(puVar21 + -0x10) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17554;\n      iVar18 = strcmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n      if (iVar18 == 0) {\n        local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar21 + -4) = iVar18;\n        *(int *)(puVar21 + -8) = iVar18;\n        *(char **)(puVar21 + -0xc) = "w";\n        *(char **)(puVar21 + -0x10) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17a5c;\n        pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n        local_4c->map_file = (FILE *)pFVar15;\n        if (pFVar15 == (FILE *)0x0) {\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }\n      }\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17572;\n    lang_process();\n    local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n    if ((*(byte *)local_3c & 3) == 2) {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 | 0x40;\n    }\n    if ((local_3c->compress_debug & COMPRESS_DEBUG) != COMPRESS_DEBUG_NONE) {\n      local_34 = local_3c->output_bfd;\n      uVar20 = (uint)*(char **)&local_34->field_0x28 >> 5 & 0xfffff;\n      uVar19 = uVar20 | 0x24000;\n      if (local_3c->compress_debug != COMPRESS_DEBUG_GABI_ZLIB) {\n        uVar19 = uVar20 | 0x4000;\n      }\n      *(char **)&local_34->field_0x28 =\n           (char *)(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x175dd;\n    ldwrite();\n    plVar4 = local_4c;\n    if (local_4c->map_file == (FILE *)0x0) {\n      if (local_44->cref != 0) {\nLAB_00017a0f:\n        pFVar10 = *(FILE **)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -4) = 0x175ef;\n      lang_map();\n      if (local_44->cref != 0) {\n        pFVar10 = plVar4->map_file;\n        if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;\nLAB_00017603:\n        *(FILE **)(puVar21 + -0x10) = pFVar10;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1760c;\n        output_cref(*(FILE **)(puVar21 + -0x10));\n      }\n    }\n    if (nocrossref_list != (lang_nocrossrefs *)0x0) {\n      *(undefined4 *)(puVar21 + -4) = 0x1761f;\n      check_nocrossrefs();\n    }\n    if (local_44->print_memory_usage != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17a21;\n      lang_print_memory_usage();\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17631;\n    ldexp_finish();\n    *(undefined4 *)(puVar21 + -4) = 0x17636;\n    lang_finish();\n    pcVar7 = output_filename;\n    if (local_4c->make_executable != 0 || force_make_executable != 0) {\n      *(bfd **)(puVar21 + -0x10) = local_3c->output_bfd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176cb;\n      iVar18 = bfd_close();\n      if (iVar18 == 0) {\n        pbVar8 = local_3c->output_bfd;\n        *(bfd_link_info **)(puVar21 + -4) = local_3c;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b1d;\n        uVar9 = dcgettext();\n        *(bfd **)(puVar21 + -0xc) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b26;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n      if (((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2) && (local_44->force_exe_suffix != 0)) {\n        uVar19 = 0xffffffff;\n        pcVar7 = output_filename;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar5 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;\n        } while (cVar5 != '\0');\n        uVar19 = ~uVar19;\n        if (uVar19 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17755;\n          uVar9 = xmalloc();\n          *(uint *)(puVar21 + -0x10) = uVar19 + 4;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;\n          pbVar11 = (bfd_link_info *)xmalloc();\n          pcVar7 = output_filename;\n          local_3c = pbVar11;\n          *(char **)(puVar21 + -0xc) = output_filename;\n          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17771;\n          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          builtin_strncpy(pcVar12,".exe",5);\n          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;\n          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          local_34 = pbVar8;\n          *(char **)(puVar21 + -0xc) = "w";\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;\n          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }\n          *(bfd **)(puVar21 + -0x10) = local_34;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar21 + -0x10));\n          *(bfd **)(puVar21 + -0x10) = local_38;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17807;\n          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));\n          if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;\n          free(*(void **)(puVar21 + -0x10));\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17826;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        else {\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c->stats != 0) {\n        *(undefined4 *)(puVar21 + -4) = 0x17aa6;\n        lVar16 = get_run_time();\n        local_34 = (bfd *)(lVar16 - local_5c);\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar21 + -0x10));\n        pcVar7 = *local_60;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ad9;\n        uVar9 = dcgettext();\n        puVar3 = PTR_stderr_001c1fa8;\n        iVar18 = (int)local_34 / 1000000;\n        *(int *)(puVar21 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar21 + -0x14) = iVar18;\n        *(char **)(puVar21 + -0x18) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x1c) = uVar9;\n        *(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar21 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c));\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar21 + -0x10));\n      }\n      output_filename = (char *)0x0;\nLAB_000172f3:\n      puVar22 = puVar21 + -0x10;\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x172fd;\n      pbVar8 = (bfd *)xexit();\n      do {\n        if ((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)) {\n          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);\n          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);\n        }\n        else {\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }\nLAB_00017328:\n        do {\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        } while ((!bVar28 && !bVar29) != bVar28);\n        bVar28 = false;\n        bVar29 = pbVar2[2] == 0;\n      } while (bVar29);\n      iVar18 = 7;\n      pbVar24 = pbVar2;\n      pbVar26 = local_58;\n      do {\n        pbVar23 = pbVar24;\n        pbVar25 = pbVar26;\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1;\n        pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar23;\n        pbVar26 = pbVar25;\n      } while (bVar29);\n      cVar5 = (!bVar28 && !bVar29) - bVar28;\n      uVar9 = CONCAT31((int3)((uint)pbVar8 >> 8),cVar5);\n      if (cVar5 != '\0') {\n        *(undefined4 *)(puVar22 + -4) = uVar9;\n        *(undefined4 *)(puVar22 + -8) = uVar9;\n        *(char **)(puVar22 + -0xc) = local_64;\n        *(byte **)(puVar22 + -0x10) = pbVar2;\n        local_68 = pbVar2;\n        *(undefined4 *)(puVar22 + -0x14) = 0x1737f;\n        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n        pbVar2 = local_68;\n        if (iVar18 != 0) {\n          *(byte **)(puVar22 + -4) = pbVar25;\n          *(byte **)(puVar22 + -8) = pbVar25;\n          *(char **)(puVar22 + -0xc) = "-mips3";\n          *(byte **)(puVar22 + -0x10) = pbVar2;\n          *(undefined4 *)(puVar22 + -0x14) = 0x17398;\n          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n          pbVar2 = local_68;\n          if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (trace_files != 0) {\n      *(bfd_boolean **)(puVar21 + -4) = &trace_files;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b5c;\n      uVar9 = dcgettext();\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b65;\n      einfo(*(char **)(puVar21 + -0x10));\n    }\n    puVar22 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = 1;\n    *(undefined4 *)(puVar21 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );\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  undefined1 *puVar1;\n  byte *pbVar2;\n  undefined *puVar3;\n  ld_config_type *plVar4;\n  char cVar5;\n  size_t sVar6;\n  char *pcVar7;\n  bfd *pbVar8;\n  undefined4 uVar9;\n  FILE *pFVar10;\n  bfd_link_info *pbVar11;\n  char *pcVar12;\n  size_t sVar13;\n  input_type *piVar14;\n  FILE *pFVar15;\n  long lVar16;\n  undefined4 uVar17;\n  int iVar18;\n  undefined4 extraout_ECX;\n  uint uVar19;\n  undefined4 extraout_EDX;\n  uint uVar20;\n  undefined4 extraout_EDX_00;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  byte *pbVar23;\n  byte *pbVar25;\n  char **ppcVar27;\n  bool bVar28;\n  bool bVar29;\n  byte bVar30;\n  int aiStack_b4 [13];\n  undefined1 auStack_70 [8];\n  byte *local_68;\n  char *local_64;\n  char **local_60;\n  long local_5c;\n  byte *local_58;\n  byte *local_54;\n  byte *local_50;\n  ld_config_type *local_4c;\n  input_type *local_48;\n  args_type *local_44;\n  char *local_40;\n  bfd_link_info *local_3c;\n  bfd *local_38;\n  bfd *local_34;\n  int local_24 [3];\n  input_type *piStack_18;\n  byte *pbVar24;\n  byte *pbVar26;\n  \n  bVar30 = 0;\n  local_48 = (input_type *)&argc;\n  piStack_18 = (input_type *)&argc;\n  local_5c = get_run_time();\n  local_40 = "";\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  local_60 = &program_name;\n  program_name = *argv;\n  xmalloc_set_program_name();\n  expandargv(&argc,&argv);\n  bfd_init();\n  bfd_set_error_program_name();\n  default_bfd_assert_handler = (bfd_assert_handler_type)bfd_set_assert_handler();\n  default_bfd_error_handler = (bfd_error_handler_type)bfd_set_error_handler();\n  xatexit(ld_cleanup);\n  local_34 = (bfd *)argv;\n  local_38 = (bfd *)argc;\n  bVar28 = argc == 0;\n  bVar29 = argc == 1;\n  if (1 < argc) {\n    pcVar7 = "--sysroot=";\n    uVar19 = 1;\n    do {\n      iVar18 = 10;\n      pbVar2 = (byte *)argv[uVar19];\n      pbVar24 = pbVar2;\n      pbVar26 = (byte *)pcVar7;\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      local_3c = (bfd_link_info *)pcVar7;\n      if ((!bVar28 && !bVar29) == bVar28) {\n        ld_sysroot = (char *)(pbVar2 + 10);\n        if (pbVar2[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar19 = uVar19 + 1;\n      bVar28 = (uint)argc < uVar19;\n      bVar29 = argc == uVar19;\n    } while (!bVar29);\n  }\n  ld_sysroot = "/";\nLAB_000174e1:\n  ld_canon_sysroot = (char *)lrealpath();\nLAB_00017033:\n  pcVar7 = ld_canon_sysroot;\n  puVar22 = auStack_70;\n  if (ld_canon_sysroot == (char *)0x0) {\n    ld_canon_sysroot_len = -1;\n    sVar6 = ld_canon_sysroot_len;\n  }\n  else {\n    sVar6 = strlen(ld_canon_sysroot);\n    if (sVar6 != 0) {\n      ld_canon_sysroot_len = sVar6 - 1;\n      if (pcVar7[ld_canon_sysroot_len] == '/') {\n        pcVar7[ld_canon_sysroot_len] = '\0';\n        sVar6 = ld_canon_sysroot_len;\n      }\n    }\n  }\n  ld_canon_sysroot_len = sVar6;\n  iVar18 = bfd_set_default_target();\n  if (iVar18 == 0) {\n    pcVar7 = (char *)dcgettext();\n    puVar22 = &stack0xffffff80;\n    einfo(pcVar7);\n    xexit();\n  }\n  config.build_constructors = 1;\n  config.rpath_separator = ':';\n  config.split_by_reloc = 0xffffffff;\n  config.split_by_file._0_4_ = 0xffffffff;\n  config.split_by_file._4_4_ = 0xffffffff;\n  config.make_executable = 1;\n  config.magic_demand_paged = 1;\n  config.text_read_only = 1;\n  local_4c = &config;\n  link_info.disable_target_specific_optimizations = -1;\n  command_line.warn_mismatch = 1;\n  command_line.warn_search_mismatch = 1;\n  command_line.check_section_addresses = -1;\n  local_44 = &command_line;\n  *(char **)(puVar22 + -0x10) = "COLLECT_NO_DEMANGLE";\n  local_3c = &link_info;\n  *(undefined4 *)(puVar22 + -0x14) = 0x17116;\n  pcVar7 = getenv(*(char **)(puVar22 + -0x10));\n  link_info.relax_pass = 1;\n  link_info.extern_protected_data = -1;\n  demangling = (bfd_boolean)(pcVar7 == (char *)0x0);\n  link_info._0_4_ = link_info._0_4_ | 0x4000400;\n  link_info.callbacks = &link_callbacks;\n  link_info.input_bfds_tail = &link_info.input_bfds;\n  link_info.init_function = "_init";\n  link_info.fini_function = "_fini";\n  link_info.dynamic_undefined_weak = -1;\n  local_34 = (bfd *)CONCAT22(local_34._2_2_,link_info._4_2_);\n  link_info._4_2_ = link_info._4_2_ & 0xceb3 | 0x214c;\n  link_info.pei386_auto_import = -1;\n  link_info.spare_dynamic_tags = 5;\n  link_info.path_separator = ':';\n  *(char **)(puVar22 + -0x10) = local_40;\n  *(undefined4 *)(puVar22 + -0x14) = 0x17190;\n  ldfile_add_arch(*(char **)(puVar22 + -0x10));\n  local_40 = (char *)local_48[1];\n  local_38 = (bfd *)*local_48;\n  *(char **)(puVar22 + -0x10) = "LDEMULATION";\n  *(undefined4 *)(puVar22 + -0x14) = 0x171ac;\n  local_54 = (byte *)getenv(*(char **)(puVar22 + -0x10));\n  if (local_54 == (byte *)0x0) goto LAB_00017657;\n  do {\n    bVar28 = local_38 == (bfd *)0x0;\n    bVar29 = local_38 == (bfd *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pbVar8 = (bfd *)0x1;\n    puVar21 = puVar22;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar21 + -0x10) = local_54;\n    *(undefined4 *)(puVar21 + -0x14) = 0x171ef;\n    ldemul_choose_mode(*(char **)(puVar21 + -0x10));\n    piVar14 = local_48;\n    *(input_type *)(puVar21 + -0xc) = local_48[1];\n    *(input_type *)(puVar21 + -0x10) = *piVar14;\n    *(undefined4 *)(puVar21 + -0x14) = 0x171fe;\n    default_target = ldemul_choose_target(*(int *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1720b;\n    lang_init();\n    *(undefined4 *)(puVar21 + -0x14) = 0x17210;\n    ldexp_init();\n    *(undefined4 *)(puVar21 + -0x14) = 0x17215;\n    ldemul_before_parse();\n    lang_has_input_file = 0;\n    ppcVar27 = *(char ***)(puVar21 + -0xc);\n    *(input_type *)(puVar21 + -0xc) = piVar14[1];\n    *(input_type *)(puVar21 + -0x10) = *piVar14;\n    local_38 = (bfd *)&lang_has_input_file;\n    *(undefined4 *)(puVar21 + -0x14) = 0x17230;\n    parse_args(*(uint *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));\n    if (local_4c->hash_table_size != 0) {\n      *(ulong *)(puVar21 + -0x10) = local_4c->hash_table_size;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17246;\n    plugin_load_plugins();\n    *(undefined4 *)(puVar21 + -4) = 0x1724b;\n    ldemul_set_symbols();\n    if (saved_script_handle == (FILE *)0x0) {\n      if (local_44->default_script != (char *)0x0) {\n        *(char **)(puVar21 + -0x10) = local_44->default_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1795f;\n        ldfile_open_command_file(*(char **)(puVar21 + -0x10));\n        piVar14 = &parser_input;\n        parser_input = input_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17970;\n        yyparse();\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017258;\n      }\n      piVar14 = &parser_input;\n      *(int **)(puVar21 + -0x10) = local_24;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1798c;\n      pbVar8 = (bfd *)ldemul_get_script(*(int **)(puVar21 + -0x10));\n      if (local_24[0] == 0) {\n        local_34 = pbVar8;\n        *(bfd **)(puVar21 + -4) = pbVar8;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179b5;\n        lex_string = (char *)pbVar8;\n        uVar9 = dcgettext();\n        pbVar8 = local_34;\n        *(undefined4 *)(puVar21 + -8) = 1;\n        *(undefined4 *)(puVar21 + -0xc) = uVar9;\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179c4;\n        lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))\n        ;\n      }\n      else {\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b37;\n        ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));\n      }\n      ppcVar27 = &lex_string;\n      parser_input = input_script;\n      *(undefined4 *)(puVar21 + -4) = 0x179d2;\n      yyparse();\n      lex_string = (char *)0x0;\n      if (verbose != 0) {\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017845;\n        pcVar7 = "using internal linker script:";\n        *(input_type **)(puVar21 + -4) = &parser_input;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (verbose != 0) {\nLAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        pcVar7 = "using external linker script:";\n        *(undefined4 *)(puVar21 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17856;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;\n        info_msg(*(char **)(puVar21 + -0x10));\n        local_34 = (bfd *)0x8076c;\n        *(char **)(puVar21 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar21 + -0x14) = 0x17873;\n        info_msg(*(char **)(puVar21 + -0x10));\n        if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        *(bfd **)(puVar21 + -0x10) = local_34;\n        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;\n        info_msg(*(char **)(puVar21 + -0x10));\n      }\n    }\n    uVar19 = 1;\n    if (local_44->force_group_allocation == 0) {\n      local_34 = (bfd *)((uint)local_34 & 0xffffff00);\n      uVar19 = (uint)((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2);\n    }\n    local_34 = (bfd *)CONCAT31(local_34._1_3_,local_3c->field_0x1);\n    local_3c->field_0x1 = local_3c->field_0x1 & 0xef | (byte)(uVar19 << 4);\n    if (local_44->print_output_format != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17920;\n      pcVar7 = lang_get_output_target();\n      *(undefined4 *)(puVar21 + -4) = extraout_EDX_00;\n      *(undefined4 *)(puVar21 + -8) = extraout_EDX_00;\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined **)(puVar21 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1792f;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x172ad;\n    lang_final();\n    if ((*local_48 == input_mri_script) && (version_printed != 0)) goto LAB_000172f3;\n    if ((local_3c->field_0x7 & 0x20) != 0) {\n      local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n      if ((*(byte *)local_3c & 3) != 3) {\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17680;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17688;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n    }\n    pbVar8 = local_38;\n    if (local_38->filename == (char *)0x0) {\n      if (version_printed != 0 || local_44->print_output_format != 0) goto LAB_000172f3;\n      *(input_type **)(puVar21 + -4) = piVar14;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1751c;\n      pbVar8 = (bfd *)dcgettext();\n      *(bfd **)(puVar21 + -0x10) = pbVar8;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17524;\n      einfo(*(char **)(puVar21 + -0x10));\n    }\n    if (trace_files != 0) {\n      *(bfd **)(puVar21 + -4) = pbVar8;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176aa;\n      uVar9 = dcgettext();\n      *(byte **)(puVar21 + -0xc) = local_54;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176b5;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x1753b;\n    ldemul_after_parse();\n    plVar4 = local_4c;\n    pcVar7 = local_4c->map_filename;\n    if (pcVar7 != (char *)0x0) {\n      *(ld_config_type **)(puVar21 + -4) = local_4c;\n      *(ld_config_type **)(puVar21 + -8) = plVar4;\n      *(undefined **)(puVar21 + -0xc) = &DAT_000700e6;\n      *(char **)(puVar21 + -0x10) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17554;\n      iVar18 = strcmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n      if (iVar18 == 0) {\n        local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar21 + -4) = iVar18;\n        *(int *)(puVar21 + -8) = iVar18;\n        *(char **)(puVar21 + -0xc) = "w";\n        *(char **)(puVar21 + -0x10) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17a5c;\n        pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n        local_4c->map_file = (FILE *)pFVar15;\n        if (pFVar15 == (FILE *)0x0) {\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }\n      }\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17572;\n    lang_process();\n    local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n    if ((*(byte *)local_3c & 3) == 2) {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 | 0x40;\n    }\n    if ((local_3c->compress_debug & COMPRESS_DEBUG) != COMPRESS_DEBUG_NONE) {\n      local_34 = local_3c->output_bfd;\n      uVar20 = (uint)*(char **)&local_34->field_0x28 >> 5 & 0xfffff;\n      uVar19 = uVar20 | 0x24000;\n      if (local_3c->compress_debug != COMPRESS_DEBUG_GABI_ZLIB) {\n        uVar19 = uVar20 | 0x4000;\n      }\n      *(char **)&local_34->field_0x28 =\n           (char *)(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x175dd;\n    ldwrite();\n    plVar4 = local_4c;\n    if (local_4c->map_file == (FILE *)0x0) {\n      if (local_44->cref != 0) {\nLAB_00017a0f:\n        pFVar10 = *(FILE **)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -4) = 0x175ef;\n      lang_map();\n      if (local_44->cref != 0) {\n        pFVar10 = plVar4->map_file;\n        if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;\nLAB_00017603:\n        *(FILE **)(puVar21 + -0x10) = pFVar10;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1760c;\n        output_cref(*(FILE **)(puVar21 + -0x10));\n      }\n    }\n    if (nocrossref_list != (lang_nocrossrefs *)0x0) {\n      *(undefined4 *)(puVar21 + -4) = 0x1761f;\n      check_nocrossrefs();\n    }\n    if (local_44->print_memory_usage != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17a21;\n      lang_print_memory_usage();\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17631;\n    ldexp_finish();\n    *(undefined4 *)(puVar21 + -4) = 0x17636;\n    lang_finish();\n    pcVar7 = output_filename;\n    if (local_4c->make_executable != 0 || force_make_executable != 0) {\n      *(bfd **)(puVar21 + -0x10) = local_3c->output_bfd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176cb;\n      iVar18 = bfd_close();\n      if (iVar18 == 0) {\n        pbVar8 = local_3c->output_bfd;\n        *(bfd_link_info **)(puVar21 + -4) = local_3c;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b1d;\n        uVar9 = dcgettext();\n        *(bfd **)(puVar21 + -0xc) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b26;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n      if (((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2) && (local_44->force_exe_suffix != 0)) {\n        uVar19 = 0xffffffff;\n        pcVar7 = output_filename;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar5 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;\n        } while (cVar5 != '\0');\n        uVar19 = ~uVar19;\n        if (uVar19 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17755;\n          uVar9 = xmalloc();\n          *(uint *)(puVar21 + -0x10) = uVar19 + 4;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;\n          pbVar11 = (bfd_link_info *)xmalloc();\n          pcVar7 = output_filename;\n          local_3c = pbVar11;\n          *(char **)(puVar21 + -0xc) = output_filename;\n          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17771;\n          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          builtin_strncpy(pcVar12,".exe",5);\n          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;\n          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          local_34 = pbVar8;\n          *(char **)(puVar21 + -0xc) = "w";\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;\n          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }\n          *(bfd **)(puVar21 + -0x10) = local_34;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar21 + -0x10));\n          *(bfd **)(puVar21 + -0x10) = local_38;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17807;\n          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));\n          if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;\n          free(*(void **)(puVar21 + -0x10));\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17826;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        else {\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c->stats != 0) {\n        *(undefined4 *)(puVar21 + -4) = 0x17aa6;\n        lVar16 = get_run_time();\n        local_34 = (bfd *)(lVar16 - local_5c);\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar21 + -0x10));\n        pcVar7 = *local_60;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ad9;\n        uVar9 = dcgettext();\n        puVar3 = PTR_stderr_001c1fa8;\n        iVar18 = (int)local_34 / 1000000;\n        *(int *)(puVar21 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar21 + -0x14) = iVar18;\n        *(char **)(puVar21 + -0x18) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x1c) = uVar9;\n        *(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar21 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c));\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar21 + -0x10));\n      }\n      output_filename = (char *)0x0;\nLAB_000172f3:\n      puVar22 = puVar21 + -0x10;\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x172fd;\n      pbVar8 = (bfd *)xexit();\n      do {\n        if ((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)) {\n          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);\n          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);\n        }\n        else {\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }\nLAB_00017328:\n        do {\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        } while ((!bVar28 && !bVar29) != bVar28);\n        bVar28 = false;\n        bVar29 = pbVar2[2] == 0;\n      } while (bVar29);\n      iVar18 = 7;\n      pbVar24 = pbVar2;\n      pbVar26 = local_58;\n      do {\n        pbVar23 = pbVar24;\n        pbVar25 = pbVar26;\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1;\n        pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar23;\n        pbVar26 = pbVar25;\n      } while (bVar29);\n      cVar5 = (!bVar28 && !bVar29) - bVar28;\n      uVar9 = CONCAT31((int3)((uint)pbVar8 >> 8),cVar5);\n      if (cVar5 != '\0') {\n        *(undefined4 *)(puVar22 + -4) = uVar9;\n        *(undefined4 *)(puVar22 + -8) = uVar9;\n        *(char **)(puVar22 + -0xc) = local_64;\n        *(byte **)(puVar22 + -0x10) = pbVar2;\n        local_68 = pbVar2;\n        *(undefined4 *)(puVar22 + -0x14) = 0x1737f;\n        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n        pbVar2 = local_68;\n        if (iVar18 != 0) {\n          *(byte **)(puVar22 + -4) = pbVar25;\n          *(byte **)(puVar22 + -8) = pbVar25;\n          *(char **)(puVar22 + -0xc) = "-mips3";\n          *(byte **)(puVar22 + -0x10) = pbVar2;\n          *(undefined4 *)(puVar22 + -0x14) = 0x17398;\n          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n          pbVar2 = local_68;\n          if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (trace_files != 0) {\n      *(bfd_boolean **)(puVar21 + -4) = &trace_files;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b5c;\n      uVar9 = dcgettext();\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b65;\n      einfo(*(char **)(puVar21 + -0x10));\n    }\n    puVar22 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = 1;\n    *(undefined4 *)(puVar21 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "ld_config_type *plVar4;" type_identifier (pointer_declarator "*plVar4" * identifier) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "bfd *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "FILE *pFVar10;" type_identifier (pointer_declarator "*pFVar10" * identifier) ;) (declaration "bfd_link_info *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "input_type *piVar14;" type_identifier (pointer_declarator "*piVar14" * identifier) ;) (declaration "FILE *pFVar15;" type_identifier (pointer_declarator "*pFVar15" * identifier) ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_00;" type_identifier identifier ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "byte *pbVar25;" type_identifier (pointer_declarator "*pbVar25" * identifier) ;) (declaration "char **ppcVar27;" primitive_type (pointer_declarator "**ppcVar27" * (pointer_declarator "*ppcVar27" * identifier)) ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "bool bVar29;" primitive_type identifier ;) (declaration "byte bVar30;" type_identifier identifier ;) (declaration "int aiStack_b4 [13];" primitive_type (array_declarator "aiStack_b4 [13]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_70 [8];" type_identifier (array_declarator "auStack_70 [8]" identifier [ number_literal ]) ;) (declaration "byte *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "char *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "char **local_60;" primitive_type (pointer_declarator "**local_60" * (pointer_declarator "*local_60" * identifier)) ;) (declaration "long local_5c;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "byte *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "ld_config_type *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "input_type *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "args_type *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "bfd_link_info *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "bfd *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "bfd *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "int local_24 [3];" primitive_type (array_declarator "local_24 [3]" identifier [ number_literal ]) ;) (declaration "input_type *piStack_18;" type_identifier (pointer_declarator "*piStack_18" * identifier) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "byte *pbVar26;" type_identifier (pointer_declarator "*pbVar26" * identifier) ;) (expression_statement "bVar30 = 0;" (assignment_expression "bVar30 = 0" identifier = number_literal) ;) (expression_statement "local_48 = (input_type *)&argc;" (assignment_expression "local_48 = (input_type *)&argc" identifier = (cast_expression "(input_type *)&argc" ( (type_descriptor "input_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&argc" & identifier))) ;) (expression_statement "piStack_18 = (input_type *)&argc;" (assignment_expression "piStack_18 = (input_type *)&argc" identifier = (cast_expression "(input_type *)&argc" ( (type_descriptor "input_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&argc" & identifier))) ;) (expression_statement "local_5c = get_run_time();" (assignment_expression "local_5c = get_run_time()" identifier = (call_expression "get_run_time()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_40 = "";" (assignment_expression "local_40 = """ identifier = (string_literal """" " ")) ;) (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 "local_60 = &program_name;" (assignment_expression "local_60 = &program_name" identifier = (pointer_expression "&program_name" & identifier)) ;) (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 "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 "bfd_set_error_program_name();" (call_expression "bfd_set_error_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "default_bfd_assert_handler = (bfd_assert_handler_type)bfd_set_assert_handler();" (assignment_expression "default_bfd_assert_handler = (bfd_assert_handler_type)bfd_set_assert_handler()" identifier = (cast_expression "(bfd_assert_handler_type)bfd_set_assert_handler()" ( (type_descriptor "bfd_assert_handler_type" type_identifier) ) (call_expression "bfd_set_assert_handler()" identifier (argument_list "()" ( ))))) ;) (expression_statement "default_bfd_error_handler = (bfd_error_handler_type)bfd_set_error_handler();" (assignment_expression "default_bfd_error_handler = (bfd_error_handler_type)bfd_set_error_handler()" identifier = (cast_expression "(bfd_error_handler_type)bfd_set_error_handler()" ( (type_descriptor "bfd_error_handler_type" type_identifier) ) (call_expression "bfd_set_error_handler()" identifier (argument_list "()" ( ))))) ;) (expression_statement "xatexit(ld_cleanup);" (call_expression "xatexit(ld_cleanup)" identifier (argument_list "(ld_cleanup)" ( identifier ))) ;) (expression_statement "local_34 = (bfd *)argv;" (assignment_expression "local_34 = (bfd *)argv" identifier = (cast_expression "(bfd *)argv" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_38 = (bfd *)argc;" (assignment_expression "local_38 = (bfd *)argc" identifier = (cast_expression "(bfd *)argc" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bVar28 = argc == 0;" (assignment_expression "bVar28 = argc == 0" identifier = (binary_expression "argc == 0" identifier == number_literal)) ;) (expression_statement "bVar29 = argc == 1;" (assignment_expression "bVar29 = argc == 1" identifier = (binary_expression "argc == 1" identifier == number_literal)) ;) (if_statement "if (1 < argc) {\n    pcVar7 = "--sysroot=";\n    uVar19 = 1;\n    do {\n      iVar18 = 10;\n      pbVar2 = (byte *)argv[uVar19];\n      pbVar24 = pbVar2;\n      pbVar26 = (byte *)pcVar7;\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      local_3c = (bfd_link_info *)pcVar7;\n      if ((!bVar28 && !bVar29) == bVar28) {\n        ld_sysroot = (char *)(pbVar2 + 10);\n        if (pbVar2[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar19 = uVar19 + 1;\n      bVar28 = (uint)argc < uVar19;\n      bVar29 = argc == uVar19;\n    } while (!bVar29);\n  }" if (parenthesized_expression "(1 < argc)" ( (binary_expression "1 < argc" number_literal < identifier) )) (compound_statement "{\n    pcVar7 = "--sysroot=";\n    uVar19 = 1;\n    do {\n      iVar18 = 10;\n      pbVar2 = (byte *)argv[uVar19];\n      pbVar24 = pbVar2;\n      pbVar26 = (byte *)pcVar7;\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      local_3c = (bfd_link_info *)pcVar7;\n      if ((!bVar28 && !bVar29) == bVar28) {\n        ld_sysroot = (char *)(pbVar2 + 10);\n        if (pbVar2[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar19 = uVar19 + 1;\n      bVar28 = (uint)argc < uVar19;\n      bVar29 = argc == uVar19;\n    } while (!bVar29);\n  }" { (expression_statement "pcVar7 = "--sysroot=";" (assignment_expression "pcVar7 = "--sysroot="" identifier = (string_literal ""--sysroot="" " string_content ")) ;) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) (do_statement "do {\n      iVar18 = 10;\n      pbVar2 = (byte *)argv[uVar19];\n      pbVar24 = pbVar2;\n      pbVar26 = (byte *)pcVar7;\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      local_3c = (bfd_link_info *)pcVar7;\n      if ((!bVar28 && !bVar29) == bVar28) {\n        ld_sysroot = (char *)(pbVar2 + 10);\n        if (pbVar2[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar19 = uVar19 + 1;\n      bVar28 = (uint)argc < uVar19;\n      bVar29 = argc == uVar19;\n    } while (!bVar29);" do (compound_statement "{\n      iVar18 = 10;\n      pbVar2 = (byte *)argv[uVar19];\n      pbVar24 = pbVar2;\n      pbVar26 = (byte *)pcVar7;\n      do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);\n      local_3c = (bfd_link_info *)pcVar7;\n      if ((!bVar28 && !bVar29) == bVar28) {\n        ld_sysroot = (char *)(pbVar2 + 10);\n        if (pbVar2[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar19 = uVar19 + 1;\n      bVar28 = (uint)argc < uVar19;\n      bVar29 = argc == uVar19;\n    }" { (expression_statement "iVar18 = 10;" (assignment_expression "iVar18 = 10" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)argv[uVar19];" (assignment_expression "pbVar2 = (byte *)argv[uVar19]" identifier = (cast_expression "(byte *)argv[uVar19]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "argv[uVar19]" identifier [ identifier ]))) ;) (expression_statement "pbVar24 = pbVar2;" (assignment_expression "pbVar24 = pbVar2" identifier = identifier) ;) (expression_statement "pbVar26 = (byte *)pcVar7;" (assignment_expression "pbVar26 = (byte *)pcVar7" identifier = (cast_expression "(byte *)pcVar7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      } while (bVar29);" do (compound_statement "{\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n        pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n      }" { (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar24 < *pbVar26;" (assignment_expression "bVar28 = *pbVar24 < *pbVar26" identifier = (binary_expression "*pbVar24 < *pbVar26" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "bVar29 = *pbVar24 == *pbVar26;" (assignment_expression "bVar29 = *pbVar24 == *pbVar26" identifier = (binary_expression "*pbVar24 == *pbVar26" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (expression_statement "local_3c = (bfd_link_info *)pcVar7;" (assignment_expression "local_3c = (bfd_link_info *)pcVar7" identifier = (cast_expression "(bfd_link_info *)pcVar7" ( (type_descriptor "bfd_link_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((!bVar28 && !bVar29) == bVar28) {\n        ld_sysroot = (char *)(pbVar2 + 10);\n        if (pbVar2[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }" if (parenthesized_expression "((!bVar28 && !bVar29) == bVar28)" ( (binary_expression "(!bVar28 && !bVar29) == bVar28" (parenthesized_expression "(!bVar28 && !bVar29)" ( (binary_expression "!bVar28 && !bVar29" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar29" ! identifier)) )) == identifier) )) (compound_statement "{\n        ld_sysroot = (char *)(pbVar2 + 10);\n        if (pbVar2[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }" { (expression_statement "ld_sysroot = (char *)(pbVar2 + 10);" (assignment_expression "ld_sysroot = (char *)(pbVar2 + 10)" identifier = (cast_expression "(char *)(pbVar2 + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar2 + 10)" ( (binary_expression "pbVar2 + 10" identifier + number_literal) )))) ;) (if_statement "if (pbVar2[10] == 0) goto LAB_00017033;" if (parenthesized_expression "(pbVar2[10] == 0)" ( (binary_expression "pbVar2[10] == 0" (subscript_expression "pbVar2[10]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00017033;" goto statement_identifier ;)) (goto_statement "goto LAB_000174e1;" goto statement_identifier ;) })) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) (expression_statement "bVar28 = (uint)argc < uVar19;" (assignment_expression "bVar28 = (uint)argc < uVar19" identifier = (binary_expression "(uint)argc < uVar19" (cast_expression "(uint)argc" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier)) ;) (expression_statement "bVar29 = argc == uVar19;" (assignment_expression "bVar29 = argc == uVar19" identifier = (binary_expression "argc == uVar19" identifier == identifier)) ;) }) while (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) ;) })) (expression_statement "ld_sysroot = "/";" (assignment_expression "ld_sysroot = "/"" identifier = (string_literal ""/"" " string_content ")) ;) (labeled_statement "LAB_000174e1:\n  ld_canon_sysroot = (char *)lrealpath();" statement_identifier : (expression_statement "ld_canon_sysroot = (char *)lrealpath();" (assignment_expression "ld_canon_sysroot = (char *)lrealpath()" identifier = (cast_expression "(char *)lrealpath()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "lrealpath()" identifier (argument_list "()" ( ))))) ;)) (labeled_statement "LAB_00017033:\n  pcVar7 = ld_canon_sysroot;" statement_identifier : (expression_statement "pcVar7 = ld_canon_sysroot;" (assignment_expression "pcVar7 = ld_canon_sysroot" identifier = identifier) ;)) (expression_statement "puVar22 = auStack_70;" (assignment_expression "puVar22 = auStack_70" identifier = identifier) ;) (if_statement "if (ld_canon_sysroot == (char *)0x0) {\n    ld_canon_sysroot_len = -1;\n    sVar6 = ld_canon_sysroot_len;\n  }\n  else {\n    sVar6 = strlen(ld_canon_sysroot);\n    if (sVar6 != 0) {\n      ld_canon_sysroot_len = sVar6 - 1;\n      if (pcVar7[ld_canon_sysroot_len] == '/') {\n        pcVar7[ld_canon_sysroot_len] = '\0';\n        sVar6 = ld_canon_sysroot_len;\n      }\n    }\n  }" if (parenthesized_expression "(ld_canon_sysroot == (char *)0x0)" ( (binary_expression "ld_canon_sysroot == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ld_canon_sysroot_len = -1;\n    sVar6 = ld_canon_sysroot_len;\n  }" { (expression_statement "ld_canon_sysroot_len = -1;" (assignment_expression "ld_canon_sysroot_len = -1" identifier = number_literal) ;) (expression_statement "sVar6 = ld_canon_sysroot_len;" (assignment_expression "sVar6 = ld_canon_sysroot_len" identifier = identifier) ;) }) (else_clause "else {\n    sVar6 = strlen(ld_canon_sysroot);\n    if (sVar6 != 0) {\n      ld_canon_sysroot_len = sVar6 - 1;\n      if (pcVar7[ld_canon_sysroot_len] == '/') {\n        pcVar7[ld_canon_sysroot_len] = '\0';\n        sVar6 = ld_canon_sysroot_len;\n      }\n    }\n  }" else (compound_statement "{\n    sVar6 = strlen(ld_canon_sysroot);\n    if (sVar6 != 0) {\n      ld_canon_sysroot_len = sVar6 - 1;\n      if (pcVar7[ld_canon_sysroot_len] == '/') {\n        pcVar7[ld_canon_sysroot_len] = '\0';\n        sVar6 = ld_canon_sysroot_len;\n      }\n    }\n  }" { (expression_statement "sVar6 = strlen(ld_canon_sysroot);" (assignment_expression "sVar6 = strlen(ld_canon_sysroot)" identifier = (call_expression "strlen(ld_canon_sysroot)" identifier (argument_list "(ld_canon_sysroot)" ( identifier )))) ;) (if_statement "if (sVar6 != 0) {\n      ld_canon_sysroot_len = sVar6 - 1;\n      if (pcVar7[ld_canon_sysroot_len] == '/') {\n        pcVar7[ld_canon_sysroot_len] = '\0';\n        sVar6 = ld_canon_sysroot_len;\n      }\n    }" if (parenthesized_expression "(sVar6 != 0)" ( (binary_expression "sVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      ld_canon_sysroot_len = sVar6 - 1;\n      if (pcVar7[ld_canon_sysroot_len] == '/') {\n        pcVar7[ld_canon_sysroot_len] = '\0';\n        sVar6 = ld_canon_sysroot_len;\n      }\n    }" { (expression_statement "ld_canon_sysroot_len = sVar6 - 1;" (assignment_expression "ld_canon_sysroot_len = sVar6 - 1" identifier = (binary_expression "sVar6 - 1" identifier - number_literal)) ;) (if_statement "if (pcVar7[ld_canon_sysroot_len] == '/') {\n        pcVar7[ld_canon_sysroot_len] = '\0';\n        sVar6 = ld_canon_sysroot_len;\n      }" if (parenthesized_expression "(pcVar7[ld_canon_sysroot_len] == '/')" ( (binary_expression "pcVar7[ld_canon_sysroot_len] == '/'" (subscript_expression "pcVar7[ld_canon_sysroot_len]" identifier [ identifier ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        pcVar7[ld_canon_sysroot_len] = '\0';\n        sVar6 = ld_canon_sysroot_len;\n      }" { (expression_statement "pcVar7[ld_canon_sysroot_len] = '\0';" (assignment_expression "pcVar7[ld_canon_sysroot_len] = '\0'" (subscript_expression "pcVar7[ld_canon_sysroot_len]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar6 = ld_canon_sysroot_len;" (assignment_expression "sVar6 = ld_canon_sysroot_len" identifier = identifier) ;) })) })) }))) (expression_statement "ld_canon_sysroot_len = sVar6;" (assignment_expression "ld_canon_sysroot_len = sVar6" identifier = identifier) ;) (expression_statement "iVar18 = bfd_set_default_target();" (assignment_expression "iVar18 = bfd_set_default_target()" identifier = (call_expression "bfd_set_default_target()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar18 == 0) {\n    pcVar7 = (char *)dcgettext();\n    puVar22 = &stack0xffffff80;\n    einfo(pcVar7);\n    xexit();\n  }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar7 = (char *)dcgettext();\n    puVar22 = &stack0xffffff80;\n    einfo(pcVar7);\n    xexit();\n  }" { (expression_statement "pcVar7 = (char *)dcgettext();" (assignment_expression "pcVar7 = (char *)dcgettext()" identifier = (cast_expression "(char *)dcgettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar22 = &stack0xffffff80;" (assignment_expression "puVar22 = &stack0xffffff80" identifier = (pointer_expression "&stack0xffffff80" & identifier)) ;) (expression_statement "einfo(pcVar7);" (call_expression "einfo(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (expression_statement "xexit();" (call_expression "xexit()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "config.build_constructors = 1;" (assignment_expression "config.build_constructors = 1" (field_expression "config.build_constructors" identifier . field_identifier) = number_literal) ;) (expression_statement "config.rpath_separator = ':';" (assignment_expression "config.rpath_separator = ':'" (field_expression "config.rpath_separator" identifier . field_identifier) = (char_literal "':'" ' character ')) ;) (expression_statement "config.split_by_reloc = 0xffffffff;" (assignment_expression "config.split_by_reloc = 0xffffffff" (field_expression "config.split_by_reloc" identifier . field_identifier) = number_literal) ;) (expression_statement "config.split_by_file._0_4_ = 0xffffffff;" (assignment_expression "config.split_by_file._0_4_ = 0xffffffff" (field_expression "config.split_by_file._0_4_" (field_expression "config.split_by_file" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "config.split_by_file._4_4_ = 0xffffffff;" (assignment_expression "config.split_by_file._4_4_ = 0xffffffff" (field_expression "config.split_by_file._4_4_" (field_expression "config.split_by_file" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "config.make_executable = 1;" (assignment_expression "config.make_executable = 1" (field_expression "config.make_executable" identifier . field_identifier) = number_literal) ;) (expression_statement "config.magic_demand_paged = 1;" (assignment_expression "config.magic_demand_paged = 1" (field_expression "config.magic_demand_paged" identifier . field_identifier) = number_literal) ;) (expression_statement "config.text_read_only = 1;" (assignment_expression "config.text_read_only = 1" (field_expression "config.text_read_only" identifier . field_identifier) = number_literal) ;) (expression_statement "local_4c = &config;" (assignment_expression "local_4c = &config" identifier = (pointer_expression "&config" & identifier)) ;) (expression_statement "link_info.disable_target_specific_optimizations = -1;" (assignment_expression "link_info.disable_target_specific_optimizations = -1" (field_expression "link_info.disable_target_specific_optimizations" identifier . field_identifier) = number_literal) ;) (expression_statement "command_line.warn_mismatch = 1;" (assignment_expression "command_line.warn_mismatch = 1" (field_expression "command_line.warn_mismatch" identifier . field_identifier) = number_literal) ;) (expression_statement "command_line.warn_search_mismatch = 1;" (assignment_expression "command_line.warn_search_mismatch = 1" (field_expression "command_line.warn_search_mismatch" identifier . field_identifier) = number_literal) ;) (expression_statement "command_line.check_section_addresses = -1;" (assignment_expression "command_line.check_section_addresses = -1" (field_expression "command_line.check_section_addresses" identifier . field_identifier) = number_literal) ;) (expression_statement "local_44 = &command_line;" (assignment_expression "local_44 = &command_line" identifier = (pointer_expression "&command_line" & identifier)) ;) (expression_statement "*(char **)(puVar22 + -0x10) = "COLLECT_NO_DEMANGLE";" (assignment_expression "*(char **)(puVar22 + -0x10) = "COLLECT_NO_DEMANGLE"" (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (string_literal ""COLLECT_NO_DEMANGLE"" " string_content ")) ;) (expression_statement "local_3c = &link_info;" (assignment_expression "local_3c = &link_info" identifier = (pointer_expression "&link_info" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x17116;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x17116" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar7 = getenv(*(char **)(puVar22 + -0x10));" (assignment_expression "pcVar7 = getenv(*(char **)(puVar22 + -0x10))" identifier = (call_expression "getenv(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "link_info.relax_pass = 1;" (assignment_expression "link_info.relax_pass = 1" (field_expression "link_info.relax_pass" identifier . field_identifier) = number_literal) ;) (expression_statement "link_info.extern_protected_data = -1;" (assignment_expression "link_info.extern_protected_data = -1" (field_expression "link_info.extern_protected_data" identifier . field_identifier) = number_literal) ;) (expression_statement "demangling = (bfd_boolean)(pcVar7 == (char *)0x0);" (assignment_expression "demangling = (bfd_boolean)(pcVar7 == (char *)0x0)" identifier = (call_expression "(bfd_boolean)(pcVar7 == (char *)0x0)" (parenthesized_expression "(bfd_boolean)" ( identifier )) (argument_list "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) (expression_statement "link_info._0_4_ = link_info._0_4_ | 0x4000400;" (assignment_expression "link_info._0_4_ = link_info._0_4_ | 0x4000400" (field_expression "link_info._0_4_" identifier . field_identifier) = (binary_expression "link_info._0_4_ | 0x4000400" (field_expression "link_info._0_4_" identifier . field_identifier) | number_literal)) ;) (expression_statement "link_info.callbacks = &link_callbacks;" (assignment_expression "link_info.callbacks = &link_callbacks" (field_expression "link_info.callbacks" identifier . field_identifier) = (pointer_expression "&link_callbacks" & identifier)) ;) (expression_statement "link_info.input_bfds_tail = &link_info.input_bfds;" (assignment_expression "link_info.input_bfds_tail = &link_info.input_bfds" (field_expression "link_info.input_bfds_tail" identifier . field_identifier) = (pointer_expression "&link_info.input_bfds" & (field_expression "link_info.input_bfds" identifier . field_identifier))) ;) (expression_statement "link_info.init_function = "_init";" (assignment_expression "link_info.init_function = "_init"" (field_expression "link_info.init_function" identifier . field_identifier) = (string_literal ""_init"" " string_content ")) ;) (expression_statement "link_info.fini_function = "_fini";" (assignment_expression "link_info.fini_function = "_fini"" (field_expression "link_info.fini_function" identifier . field_identifier) = (string_literal ""_fini"" " string_content ")) ;) (expression_statement "link_info.dynamic_undefined_weak = -1;" (assignment_expression "link_info.dynamic_undefined_weak = -1" (field_expression "link_info.dynamic_undefined_weak" identifier . field_identifier) = number_literal) ;) (expression_statement "local_34 = (bfd *)CONCAT22(local_34._2_2_,link_info._4_2_);" (assignment_expression "local_34 = (bfd *)CONCAT22(local_34._2_2_,link_info._4_2_)" identifier = (cast_expression "(bfd *)CONCAT22(local_34._2_2_,link_info._4_2_)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT22(local_34._2_2_,link_info._4_2_)" identifier (argument_list "(local_34._2_2_,link_info._4_2_)" ( (field_expression "local_34._2_2_" identifier . field_identifier) , (field_expression "link_info._4_2_" identifier . field_identifier) ))))) ;) (expression_statement "link_info._4_2_ = link_info._4_2_ & 0xceb3 | 0x214c;" (assignment_expression "link_info._4_2_ = link_info._4_2_ & 0xceb3 | 0x214c" (field_expression "link_info._4_2_" identifier . field_identifier) = (binary_expression "link_info._4_2_ & 0xceb3 | 0x214c" (binary_expression "link_info._4_2_ & 0xceb3" (field_expression "link_info._4_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (expression_statement "link_info.pei386_auto_import = -1;" (assignment_expression "link_info.pei386_auto_import = -1" (field_expression "link_info.pei386_auto_import" identifier . field_identifier) = number_literal) ;) (expression_statement "link_info.spare_dynamic_tags = 5;" (assignment_expression "link_info.spare_dynamic_tags = 5" (field_expression "link_info.spare_dynamic_tags" identifier . field_identifier) = number_literal) ;) (expression_statement "link_info.path_separator = ':';" (assignment_expression "link_info.path_separator = ':'" (field_expression "link_info.path_separator" identifier . field_identifier) = (char_literal "':'" ' character ')) ;) (expression_statement "*(char **)(puVar22 + -0x10) = local_40;" (assignment_expression "*(char **)(puVar22 + -0x10) = local_40" (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x17190;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x17190" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ldfile_add_arch(*(char **)(puVar22 + -0x10));" (call_expression "ldfile_add_arch(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "local_40 = (char *)local_48[1];" (assignment_expression "local_40 = (char *)local_48[1]" identifier = (cast_expression "(char *)local_48[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_48[1]" identifier [ number_literal ]))) ;) (expression_statement "local_38 = (bfd *)*local_48;" (assignment_expression "local_38 = (bfd *)*local_48" identifier = (cast_expression "(bfd *)*local_48" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_48" * identifier))) ;) (expression_statement "*(char **)(puVar22 + -0x10) = "LDEMULATION";" (assignment_expression "*(char **)(puVar22 + -0x10) = "LDEMULATION"" (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (string_literal ""LDEMULATION"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x171ac;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x171ac" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_54 = (byte *)getenv(*(char **)(puVar22 + -0x10));" (assignment_expression "local_54 = (byte *)getenv(*(char **)(puVar22 + -0x10))" identifier = (cast_expression "(byte *)getenv(*(char **)(puVar22 + -0x10))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "getenv(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))))) ;) (if_statement "if (local_54 == (byte *)0x0) goto LAB_00017657;" if (parenthesized_expression "(local_54 == (byte *)0x0)" ( (binary_expression "local_54 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017657;" goto statement_identifier ;)) (do_statement "do {\n    bVar28 = local_38 == (bfd *)0x0;\n    bVar29 = local_38 == (bfd *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pbVar8 = (bfd *)0x1;\n    puVar21 = puVar22;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar21 + -0x10) = local_54;\n    *(undefined4 *)(puVar21 + -0x14) = 0x171ef;\n    ldemul_choose_mode(*(char **)(puVar21 + -0x10));\n    piVar14 = local_48;\n    *(input_type *)(puVar21 + -0xc) = local_48[1];\n    *(input_type *)(puVar21 + -0x10) = *piVar14;\n    *(undefined4 *)(puVar21 + -0x14) = 0x171fe;\n    default_target = ldemul_choose_target(*(int *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1720b;\n    lang_init();\n    *(undefined4 *)(puVar21 + -0x14) = 0x17210;\n    ldexp_init();\n    *(undefined4 *)(puVar21 + -0x14) = 0x17215;\n    ldemul_before_parse();\n    lang_has_input_file = 0;\n    ppcVar27 = *(char ***)(puVar21 + -0xc);\n    *(input_type *)(puVar21 + -0xc) = piVar14[1];\n    *(input_type *)(puVar21 + -0x10) = *piVar14;\n    local_38 = (bfd *)&lang_has_input_file;\n    *(undefined4 *)(puVar21 + -0x14) = 0x17230;\n    parse_args(*(uint *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));\n    if (local_4c->hash_table_size != 0) {\n      *(ulong *)(puVar21 + -0x10) = local_4c->hash_table_size;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17246;\n    plugin_load_plugins();\n    *(undefined4 *)(puVar21 + -4) = 0x1724b;\n    ldemul_set_symbols();\n    if (saved_script_handle == (FILE *)0x0) {\n      if (local_44->default_script != (char *)0x0) {\n        *(char **)(puVar21 + -0x10) = local_44->default_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1795f;\n        ldfile_open_command_file(*(char **)(puVar21 + -0x10));\n        piVar14 = &parser_input;\n        parser_input = input_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17970;\n        yyparse();\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017258;\n      }\n      piVar14 = &parser_input;\n      *(int **)(puVar21 + -0x10) = local_24;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1798c;\n      pbVar8 = (bfd *)ldemul_get_script(*(int **)(puVar21 + -0x10));\n      if (local_24[0] == 0) {\n        local_34 = pbVar8;\n        *(bfd **)(puVar21 + -4) = pbVar8;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179b5;\n        lex_string = (char *)pbVar8;\n        uVar9 = dcgettext();\n        pbVar8 = local_34;\n        *(undefined4 *)(puVar21 + -8) = 1;\n        *(undefined4 *)(puVar21 + -0xc) = uVar9;\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179c4;\n        lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))\n        ;\n      }\n      else {\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b37;\n        ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));\n      }\n      ppcVar27 = &lex_string;\n      parser_input = input_script;\n      *(undefined4 *)(puVar21 + -4) = 0x179d2;\n      yyparse();\n      lex_string = (char *)0x0;\n      if (verbose != 0) {\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017845;\n        pcVar7 = "using internal linker script:";\n        *(input_type **)(puVar21 + -4) = &parser_input;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (verbose != 0) {\nLAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        pcVar7 = "using external linker script:";\n        *(undefined4 *)(puVar21 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17856;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;\n        info_msg(*(char **)(puVar21 + -0x10));\n        local_34 = (bfd *)0x8076c;\n        *(char **)(puVar21 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar21 + -0x14) = 0x17873;\n        info_msg(*(char **)(puVar21 + -0x10));\n        if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        *(bfd **)(puVar21 + -0x10) = local_34;\n        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;\n        info_msg(*(char **)(puVar21 + -0x10));\n      }\n    }\n    uVar19 = 1;\n    if (local_44->force_group_allocation == 0) {\n      local_34 = (bfd *)((uint)local_34 & 0xffffff00);\n      uVar19 = (uint)((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2);\n    }\n    local_34 = (bfd *)CONCAT31(local_34._1_3_,local_3c->field_0x1);\n    local_3c->field_0x1 = local_3c->field_0x1 & 0xef | (byte)(uVar19 << 4);\n    if (local_44->print_output_format != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17920;\n      pcVar7 = lang_get_output_target();\n      *(undefined4 *)(puVar21 + -4) = extraout_EDX_00;\n      *(undefined4 *)(puVar21 + -8) = extraout_EDX_00;\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined **)(puVar21 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1792f;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x172ad;\n    lang_final();\n    if ((*local_48 == input_mri_script) && (version_printed != 0)) goto LAB_000172f3;\n    if ((local_3c->field_0x7 & 0x20) != 0) {\n      local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n      if ((*(byte *)local_3c & 3) != 3) {\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17680;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17688;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n    }\n    pbVar8 = local_38;\n    if (local_38->filename == (char *)0x0) {\n      if (version_printed != 0 || local_44->print_output_format != 0) goto LAB_000172f3;\n      *(input_type **)(puVar21 + -4) = piVar14;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1751c;\n      pbVar8 = (bfd *)dcgettext();\n      *(bfd **)(puVar21 + -0x10) = pbVar8;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17524;\n      einfo(*(char **)(puVar21 + -0x10));\n    }\n    if (trace_files != 0) {\n      *(bfd **)(puVar21 + -4) = pbVar8;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176aa;\n      uVar9 = dcgettext();\n      *(byte **)(puVar21 + -0xc) = local_54;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176b5;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x1753b;\n    ldemul_after_parse();\n    plVar4 = local_4c;\n    pcVar7 = local_4c->map_filename;\n    if (pcVar7 != (char *)0x0) {\n      *(ld_config_type **)(puVar21 + -4) = local_4c;\n      *(ld_config_type **)(puVar21 + -8) = plVar4;\n      *(undefined **)(puVar21 + -0xc) = &DAT_000700e6;\n      *(char **)(puVar21 + -0x10) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17554;\n      iVar18 = strcmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n      if (iVar18 == 0) {\n        local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar21 + -4) = iVar18;\n        *(int *)(puVar21 + -8) = iVar18;\n        *(char **)(puVar21 + -0xc) = "w";\n        *(char **)(puVar21 + -0x10) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17a5c;\n        pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n        local_4c->map_file = (FILE *)pFVar15;\n        if (pFVar15 == (FILE *)0x0) {\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }\n      }\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17572;\n    lang_process();\n    local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n    if ((*(byte *)local_3c & 3) == 2) {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 | 0x40;\n    }\n    if ((local_3c->compress_debug & COMPRESS_DEBUG) != COMPRESS_DEBUG_NONE) {\n      local_34 = local_3c->output_bfd;\n      uVar20 = (uint)*(char **)&local_34->field_0x28 >> 5 & 0xfffff;\n      uVar19 = uVar20 | 0x24000;\n      if (local_3c->compress_debug != COMPRESS_DEBUG_GABI_ZLIB) {\n        uVar19 = uVar20 | 0x4000;\n      }\n      *(char **)&local_34->field_0x28 =\n           (char *)(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x175dd;\n    ldwrite();\n    plVar4 = local_4c;\n    if (local_4c->map_file == (FILE *)0x0) {\n      if (local_44->cref != 0) {\nLAB_00017a0f:\n        pFVar10 = *(FILE **)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -4) = 0x175ef;\n      lang_map();\n      if (local_44->cref != 0) {\n        pFVar10 = plVar4->map_file;\n        if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;\nLAB_00017603:\n        *(FILE **)(puVar21 + -0x10) = pFVar10;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1760c;\n        output_cref(*(FILE **)(puVar21 + -0x10));\n      }\n    }\n    if (nocrossref_list != (lang_nocrossrefs *)0x0) {\n      *(undefined4 *)(puVar21 + -4) = 0x1761f;\n      check_nocrossrefs();\n    }\n    if (local_44->print_memory_usage != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17a21;\n      lang_print_memory_usage();\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17631;\n    ldexp_finish();\n    *(undefined4 *)(puVar21 + -4) = 0x17636;\n    lang_finish();\n    pcVar7 = output_filename;\n    if (local_4c->make_executable != 0 || force_make_executable != 0) {\n      *(bfd **)(puVar21 + -0x10) = local_3c->output_bfd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176cb;\n      iVar18 = bfd_close();\n      if (iVar18 == 0) {\n        pbVar8 = local_3c->output_bfd;\n        *(bfd_link_info **)(puVar21 + -4) = local_3c;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b1d;\n        uVar9 = dcgettext();\n        *(bfd **)(puVar21 + -0xc) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b26;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n      if (((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2) && (local_44->force_exe_suffix != 0)) {\n        uVar19 = 0xffffffff;\n        pcVar7 = output_filename;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar5 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;\n        } while (cVar5 != '\0');\n        uVar19 = ~uVar19;\n        if (uVar19 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17755;\n          uVar9 = xmalloc();\n          *(uint *)(puVar21 + -0x10) = uVar19 + 4;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;\n          pbVar11 = (bfd_link_info *)xmalloc();\n          pcVar7 = output_filename;\n          local_3c = pbVar11;\n          *(char **)(puVar21 + -0xc) = output_filename;\n          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17771;\n          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          builtin_strncpy(pcVar12,".exe",5);\n          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;\n          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          local_34 = pbVar8;\n          *(char **)(puVar21 + -0xc) = "w";\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;\n          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }\n          *(bfd **)(puVar21 + -0x10) = local_34;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar21 + -0x10));\n          *(bfd **)(puVar21 + -0x10) = local_38;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17807;\n          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));\n          if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;\n          free(*(void **)(puVar21 + -0x10));\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17826;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        else {\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c->stats != 0) {\n        *(undefined4 *)(puVar21 + -4) = 0x17aa6;\n        lVar16 = get_run_time();\n        local_34 = (bfd *)(lVar16 - local_5c);\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar21 + -0x10));\n        pcVar7 = *local_60;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ad9;\n        uVar9 = dcgettext();\n        puVar3 = PTR_stderr_001c1fa8;\n        iVar18 = (int)local_34 / 1000000;\n        *(int *)(puVar21 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar21 + -0x14) = iVar18;\n        *(char **)(puVar21 + -0x18) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x1c) = uVar9;\n        *(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar21 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c));\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar21 + -0x10));\n      }\n      output_filename = (char *)0x0;\nLAB_000172f3:\n      puVar22 = puVar21 + -0x10;\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x172fd;\n      pbVar8 = (bfd *)xexit();\n      do {\n        if ((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)) {\n          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);\n          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);\n        }\n        else {\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }\nLAB_00017328:\n        do {\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        } while ((!bVar28 && !bVar29) != bVar28);\n        bVar28 = false;\n        bVar29 = pbVar2[2] == 0;\n      } while (bVar29);\n      iVar18 = 7;\n      pbVar24 = pbVar2;\n      pbVar26 = local_58;\n      do {\n        pbVar23 = pbVar24;\n        pbVar25 = pbVar26;\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1;\n        pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar23;\n        pbVar26 = pbVar25;\n      } while (bVar29);\n      cVar5 = (!bVar28 && !bVar29) - bVar28;\n      uVar9 = CONCAT31((int3)((uint)pbVar8 >> 8),cVar5);\n      if (cVar5 != '\0') {\n        *(undefined4 *)(puVar22 + -4) = uVar9;\n        *(undefined4 *)(puVar22 + -8) = uVar9;\n        *(char **)(puVar22 + -0xc) = local_64;\n        *(byte **)(puVar22 + -0x10) = pbVar2;\n        local_68 = pbVar2;\n        *(undefined4 *)(puVar22 + -0x14) = 0x1737f;\n        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n        pbVar2 = local_68;\n        if (iVar18 != 0) {\n          *(byte **)(puVar22 + -4) = pbVar25;\n          *(byte **)(puVar22 + -8) = pbVar25;\n          *(char **)(puVar22 + -0xc) = "-mips3";\n          *(byte **)(puVar22 + -0x10) = pbVar2;\n          *(undefined4 *)(puVar22 + -0x14) = 0x17398;\n          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n          pbVar2 = local_68;\n          if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (trace_files != 0) {\n      *(bfd_boolean **)(puVar21 + -4) = &trace_files;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b5c;\n      uVar9 = dcgettext();\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b65;\n      einfo(*(char **)(puVar21 + -0x10));\n    }\n    puVar22 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = 1;\n    *(undefined4 *)(puVar21 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );" do (compound_statement "{\n    bVar28 = local_38 == (bfd *)0x0;\n    bVar29 = local_38 == (bfd *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pbVar8 = (bfd *)0x1;\n    puVar21 = puVar22;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar21 + -0x10) = local_54;\n    *(undefined4 *)(puVar21 + -0x14) = 0x171ef;\n    ldemul_choose_mode(*(char **)(puVar21 + -0x10));\n    piVar14 = local_48;\n    *(input_type *)(puVar21 + -0xc) = local_48[1];\n    *(input_type *)(puVar21 + -0x10) = *piVar14;\n    *(undefined4 *)(puVar21 + -0x14) = 0x171fe;\n    default_target = ldemul_choose_target(*(int *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1720b;\n    lang_init();\n    *(undefined4 *)(puVar21 + -0x14) = 0x17210;\n    ldexp_init();\n    *(undefined4 *)(puVar21 + -0x14) = 0x17215;\n    ldemul_before_parse();\n    lang_has_input_file = 0;\n    ppcVar27 = *(char ***)(puVar21 + -0xc);\n    *(input_type *)(puVar21 + -0xc) = piVar14[1];\n    *(input_type *)(puVar21 + -0x10) = *piVar14;\n    local_38 = (bfd *)&lang_has_input_file;\n    *(undefined4 *)(puVar21 + -0x14) = 0x17230;\n    parse_args(*(uint *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));\n    if (local_4c->hash_table_size != 0) {\n      *(ulong *)(puVar21 + -0x10) = local_4c->hash_table_size;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17246;\n    plugin_load_plugins();\n    *(undefined4 *)(puVar21 + -4) = 0x1724b;\n    ldemul_set_symbols();\n    if (saved_script_handle == (FILE *)0x0) {\n      if (local_44->default_script != (char *)0x0) {\n        *(char **)(puVar21 + -0x10) = local_44->default_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1795f;\n        ldfile_open_command_file(*(char **)(puVar21 + -0x10));\n        piVar14 = &parser_input;\n        parser_input = input_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17970;\n        yyparse();\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017258;\n      }\n      piVar14 = &parser_input;\n      *(int **)(puVar21 + -0x10) = local_24;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1798c;\n      pbVar8 = (bfd *)ldemul_get_script(*(int **)(puVar21 + -0x10));\n      if (local_24[0] == 0) {\n        local_34 = pbVar8;\n        *(bfd **)(puVar21 + -4) = pbVar8;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179b5;\n        lex_string = (char *)pbVar8;\n        uVar9 = dcgettext();\n        pbVar8 = local_34;\n        *(undefined4 *)(puVar21 + -8) = 1;\n        *(undefined4 *)(puVar21 + -0xc) = uVar9;\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179c4;\n        lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))\n        ;\n      }\n      else {\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b37;\n        ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));\n      }\n      ppcVar27 = &lex_string;\n      parser_input = input_script;\n      *(undefined4 *)(puVar21 + -4) = 0x179d2;\n      yyparse();\n      lex_string = (char *)0x0;\n      if (verbose != 0) {\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017845;\n        pcVar7 = "using internal linker script:";\n        *(input_type **)(puVar21 + -4) = &parser_input;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (verbose != 0) {\nLAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        pcVar7 = "using external linker script:";\n        *(undefined4 *)(puVar21 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17856;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;\n        info_msg(*(char **)(puVar21 + -0x10));\n        local_34 = (bfd *)0x8076c;\n        *(char **)(puVar21 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar21 + -0x14) = 0x17873;\n        info_msg(*(char **)(puVar21 + -0x10));\n        if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        *(bfd **)(puVar21 + -0x10) = local_34;\n        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;\n        info_msg(*(char **)(puVar21 + -0x10));\n      }\n    }\n    uVar19 = 1;\n    if (local_44->force_group_allocation == 0) {\n      local_34 = (bfd *)((uint)local_34 & 0xffffff00);\n      uVar19 = (uint)((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2);\n    }\n    local_34 = (bfd *)CONCAT31(local_34._1_3_,local_3c->field_0x1);\n    local_3c->field_0x1 = local_3c->field_0x1 & 0xef | (byte)(uVar19 << 4);\n    if (local_44->print_output_format != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17920;\n      pcVar7 = lang_get_output_target();\n      *(undefined4 *)(puVar21 + -4) = extraout_EDX_00;\n      *(undefined4 *)(puVar21 + -8) = extraout_EDX_00;\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined **)(puVar21 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1792f;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x172ad;\n    lang_final();\n    if ((*local_48 == input_mri_script) && (version_printed != 0)) goto LAB_000172f3;\n    if ((local_3c->field_0x7 & 0x20) != 0) {\n      local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n      if ((*(byte *)local_3c & 3) != 3) {\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17680;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17688;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n    }\n    pbVar8 = local_38;\n    if (local_38->filename == (char *)0x0) {\n      if (version_printed != 0 || local_44->print_output_format != 0) goto LAB_000172f3;\n      *(input_type **)(puVar21 + -4) = piVar14;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1751c;\n      pbVar8 = (bfd *)dcgettext();\n      *(bfd **)(puVar21 + -0x10) = pbVar8;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17524;\n      einfo(*(char **)(puVar21 + -0x10));\n    }\n    if (trace_files != 0) {\n      *(bfd **)(puVar21 + -4) = pbVar8;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176aa;\n      uVar9 = dcgettext();\n      *(byte **)(puVar21 + -0xc) = local_54;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176b5;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x1753b;\n    ldemul_after_parse();\n    plVar4 = local_4c;\n    pcVar7 = local_4c->map_filename;\n    if (pcVar7 != (char *)0x0) {\n      *(ld_config_type **)(puVar21 + -4) = local_4c;\n      *(ld_config_type **)(puVar21 + -8) = plVar4;\n      *(undefined **)(puVar21 + -0xc) = &DAT_000700e6;\n      *(char **)(puVar21 + -0x10) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17554;\n      iVar18 = strcmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n      if (iVar18 == 0) {\n        local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar21 + -4) = iVar18;\n        *(int *)(puVar21 + -8) = iVar18;\n        *(char **)(puVar21 + -0xc) = "w";\n        *(char **)(puVar21 + -0x10) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17a5c;\n        pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n        local_4c->map_file = (FILE *)pFVar15;\n        if (pFVar15 == (FILE *)0x0) {\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }\n      }\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17572;\n    lang_process();\n    local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n    if ((*(byte *)local_3c & 3) == 2) {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 | 0x40;\n    }\n    if ((local_3c->compress_debug & COMPRESS_DEBUG) != COMPRESS_DEBUG_NONE) {\n      local_34 = local_3c->output_bfd;\n      uVar20 = (uint)*(char **)&local_34->field_0x28 >> 5 & 0xfffff;\n      uVar19 = uVar20 | 0x24000;\n      if (local_3c->compress_debug != COMPRESS_DEBUG_GABI_ZLIB) {\n        uVar19 = uVar20 | 0x4000;\n      }\n      *(char **)&local_34->field_0x28 =\n           (char *)(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x175dd;\n    ldwrite();\n    plVar4 = local_4c;\n    if (local_4c->map_file == (FILE *)0x0) {\n      if (local_44->cref != 0) {\nLAB_00017a0f:\n        pFVar10 = *(FILE **)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -4) = 0x175ef;\n      lang_map();\n      if (local_44->cref != 0) {\n        pFVar10 = plVar4->map_file;\n        if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;\nLAB_00017603:\n        *(FILE **)(puVar21 + -0x10) = pFVar10;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1760c;\n        output_cref(*(FILE **)(puVar21 + -0x10));\n      }\n    }\n    if (nocrossref_list != (lang_nocrossrefs *)0x0) {\n      *(undefined4 *)(puVar21 + -4) = 0x1761f;\n      check_nocrossrefs();\n    }\n    if (local_44->print_memory_usage != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17a21;\n      lang_print_memory_usage();\n    }\n    *(undefined4 *)(puVar21 + -4) = 0x17631;\n    ldexp_finish();\n    *(undefined4 *)(puVar21 + -4) = 0x17636;\n    lang_finish();\n    pcVar7 = output_filename;\n    if (local_4c->make_executable != 0 || force_make_executable != 0) {\n      *(bfd **)(puVar21 + -0x10) = local_3c->output_bfd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176cb;\n      iVar18 = bfd_close();\n      if (iVar18 == 0) {\n        pbVar8 = local_3c->output_bfd;\n        *(bfd_link_info **)(puVar21 + -4) = local_3c;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b1d;\n        uVar9 = dcgettext();\n        *(bfd **)(puVar21 + -0xc) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b26;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n      if (((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2) && (local_44->force_exe_suffix != 0)) {\n        uVar19 = 0xffffffff;\n        pcVar7 = output_filename;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar5 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;\n        } while (cVar5 != '\0');\n        uVar19 = ~uVar19;\n        if (uVar19 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17755;\n          uVar9 = xmalloc();\n          *(uint *)(puVar21 + -0x10) = uVar19 + 4;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;\n          pbVar11 = (bfd_link_info *)xmalloc();\n          pcVar7 = output_filename;\n          local_3c = pbVar11;\n          *(char **)(puVar21 + -0xc) = output_filename;\n          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17771;\n          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          builtin_strncpy(pcVar12,".exe",5);\n          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;\n          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          local_34 = pbVar8;\n          *(char **)(puVar21 + -0xc) = "w";\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;\n          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }\n          *(bfd **)(puVar21 + -0x10) = local_34;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar21 + -0x10));\n          *(bfd **)(puVar21 + -0x10) = local_38;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17807;\n          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));\n          if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;\n          free(*(void **)(puVar21 + -0x10));\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17826;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        else {\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c->stats != 0) {\n        *(undefined4 *)(puVar21 + -4) = 0x17aa6;\n        lVar16 = get_run_time();\n        local_34 = (bfd *)(lVar16 - local_5c);\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar21 + -0x10));\n        pcVar7 = *local_60;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ad9;\n        uVar9 = dcgettext();\n        puVar3 = PTR_stderr_001c1fa8;\n        iVar18 = (int)local_34 / 1000000;\n        *(int *)(puVar21 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar21 + -0x14) = iVar18;\n        *(char **)(puVar21 + -0x18) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x1c) = uVar9;\n        *(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar21 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c));\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar21 + -0x10));\n      }\n      output_filename = (char *)0x0;\nLAB_000172f3:\n      puVar22 = puVar21 + -0x10;\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x172fd;\n      pbVar8 = (bfd *)xexit();\n      do {\n        if ((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)) {\n          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);\n          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);\n        }\n        else {\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }\nLAB_00017328:\n        do {\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        } while ((!bVar28 && !bVar29) != bVar28);\n        bVar28 = false;\n        bVar29 = pbVar2[2] == 0;\n      } while (bVar29);\n      iVar18 = 7;\n      pbVar24 = pbVar2;\n      pbVar26 = local_58;\n      do {\n        pbVar23 = pbVar24;\n        pbVar25 = pbVar26;\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1;\n        pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar23;\n        pbVar26 = pbVar25;\n      } while (bVar29);\n      cVar5 = (!bVar28 && !bVar29) - bVar28;\n      uVar9 = CONCAT31((int3)((uint)pbVar8 >> 8),cVar5);\n      if (cVar5 != '\0') {\n        *(undefined4 *)(puVar22 + -4) = uVar9;\n        *(undefined4 *)(puVar22 + -8) = uVar9;\n        *(char **)(puVar22 + -0xc) = local_64;\n        *(byte **)(puVar22 + -0x10) = pbVar2;\n        local_68 = pbVar2;\n        *(undefined4 *)(puVar22 + -0x14) = 0x1737f;\n        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n        pbVar2 = local_68;\n        if (iVar18 != 0) {\n          *(byte **)(puVar22 + -4) = pbVar25;\n          *(byte **)(puVar22 + -8) = pbVar25;\n          *(char **)(puVar22 + -0xc) = "-mips3";\n          *(byte **)(puVar22 + -0x10) = pbVar2;\n          *(undefined4 *)(puVar22 + -0x14) = 0x17398;\n          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n          pbVar2 = local_68;\n          if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (trace_files != 0) {\n      *(bfd_boolean **)(puVar21 + -4) = &trace_files;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b5c;\n      uVar9 = dcgettext();\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b65;\n      einfo(*(char **)(puVar21 + -0x10));\n    }\n    puVar22 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = 1;\n    *(undefined4 *)(puVar21 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  }" { (expression_statement "bVar28 = local_38 == (bfd *)0x0;" (assignment_expression "bVar28 = local_38 == (bfd *)0x0" identifier = (binary_expression "local_38 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar29 = local_38 == (bfd *)0x1;" (assignment_expression "bVar29 = local_38 == (bfd *)0x1" identifier = (binary_expression "local_38 == (bfd *)0x1" identifier == (cast_expression "(bfd *)0x1" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "local_50 = &DAT_00080c85;" (assignment_expression "local_50 = &DAT_00080c85" identifier = (pointer_expression "&DAT_00080c85" & identifier)) ;) (expression_statement "local_58 = &DAT_00080ca6;" (assignment_expression "local_58 = &DAT_00080ca6" identifier = (pointer_expression "&DAT_00080ca6" & identifier)) ;) (expression_statement "local_64 = "-mips2";" (assignment_expression "local_64 = "-mips2"" identifier = (string_literal ""-mips2"" " string_content ")) ;) (expression_statement "pbVar8 = (bfd *)0x1;" (assignment_expression "pbVar8 = (bfd *)0x1" identifier = (cast_expression "(bfd *)0x1" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar21 = puVar22;" (assignment_expression "puVar21 = puVar22" identifier = identifier) ;) (if_statement "if (1 < (int)local_38) goto LAB_00017334;" if (parenthesized_expression "(1 < (int)local_38)" ( (binary_expression "1 < (int)local_38" number_literal < (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00017334;" goto statement_identifier ;)) (labeled_statement "LAB_000171e4:\n    *(byte **)(puVar21 + -0x10) = local_54;" statement_identifier : (expression_statement "*(byte **)(puVar21 + -0x10) = local_54;" (assignment_expression "*(byte **)(puVar21 + -0x10) = local_54" (pointer_expression "*(byte **)(puVar21 + -0x10)" * (cast_expression "(byte **)(puVar21 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x171ef;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x171ef" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ldemul_choose_mode(*(char **)(puVar21 + -0x10));" (call_expression "ldemul_choose_mode(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "piVar14 = local_48;" (assignment_expression "piVar14 = local_48" identifier = identifier) ;) (expression_statement "*(input_type *)(puVar21 + -0xc) = local_48[1];" (assignment_expression "*(input_type *)(puVar21 + -0xc) = local_48[1]" (pointer_expression "*(input_type *)(puVar21 + -0xc)" * (cast_expression "(input_type *)(puVar21 + -0xc)" ( (type_descriptor "input_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (subscript_expression "local_48[1]" identifier [ number_literal ])) ;) (expression_statement "*(input_type *)(puVar21 + -0x10) = *piVar14;" (assignment_expression "*(input_type *)(puVar21 + -0x10) = *piVar14" (pointer_expression "*(input_type *)(puVar21 + -0x10)" * (cast_expression "(input_type *)(puVar21 + -0x10)" ( (type_descriptor "input_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x171fe;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x171fe" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "default_target = ldemul_choose_target(*(int *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));" (assignment_expression "default_target = ldemul_choose_target(*(int *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc))" identifier = (call_expression "ldemul_choose_target(*(int *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc))" identifier (argument_list "(*(int *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc))" ( (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char ***)(puVar21 + -0xc)" * (cast_expression "(char ***)(puVar21 + -0xc)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1720b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1720b" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lang_init();" (call_expression "lang_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17210;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17210" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ldexp_init();" (call_expression "ldexp_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17215;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17215" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ldemul_before_parse();" (call_expression "ldemul_before_parse()" identifier (argument_list "()" ( ))) ;) (expression_statement "lang_has_input_file = 0;" (assignment_expression "lang_has_input_file = 0" identifier = number_literal) ;) (expression_statement "ppcVar27 = *(char ***)(puVar21 + -0xc);" (assignment_expression "ppcVar27 = *(char ***)(puVar21 + -0xc)" identifier = (pointer_expression "*(char ***)(puVar21 + -0xc)" * (cast_expression "(char ***)(puVar21 + -0xc)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "*(input_type *)(puVar21 + -0xc) = piVar14[1];" (assignment_expression "*(input_type *)(puVar21 + -0xc) = piVar14[1]" (pointer_expression "*(input_type *)(puVar21 + -0xc)" * (cast_expression "(input_type *)(puVar21 + -0xc)" ( (type_descriptor "input_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (subscript_expression "piVar14[1]" identifier [ number_literal ])) ;) (expression_statement "*(input_type *)(puVar21 + -0x10) = *piVar14;" (assignment_expression "*(input_type *)(puVar21 + -0x10) = *piVar14" (pointer_expression "*(input_type *)(puVar21 + -0x10)" * (cast_expression "(input_type *)(puVar21 + -0x10)" ( (type_descriptor "input_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "local_38 = (bfd *)&lang_has_input_file;" (assignment_expression "local_38 = (bfd *)&lang_has_input_file" identifier = (cast_expression "(bfd *)&lang_has_input_file" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&lang_has_input_file" & identifier))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17230;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17230" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "parse_args(*(uint *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc));" (call_expression "parse_args(*(uint *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc))" identifier (argument_list "(*(uint *)(puVar21 + -0x10),*(char ***)(puVar21 + -0xc))" ( (pointer_expression "*(uint *)(puVar21 + -0x10)" * (cast_expression "(uint *)(puVar21 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char ***)(puVar21 + -0xc)" * (cast_expression "(char ***)(puVar21 + -0xc)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) ))) ;) (if_statement "if (local_4c->hash_table_size != 0) {\n      *(ulong *)(puVar21 + -0x10) = local_4c->hash_table_size;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }" if (parenthesized_expression "(local_4c->hash_table_size != 0)" ( (binary_expression "local_4c->hash_table_size != 0" (field_expression "local_4c->hash_table_size" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n      *(ulong *)(puVar21 + -0x10) = local_4c->hash_table_size;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }" { (expression_statement "*(ulong *)(puVar21 + -0x10) = local_4c->hash_table_size;" (assignment_expression "*(ulong *)(puVar21 + -0x10) = local_4c->hash_table_size" (pointer_expression "*(ulong *)(puVar21 + -0x10)" * (cast_expression "(ulong *)(puVar21 + -0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (field_expression "local_4c->hash_table_size" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17940;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17940" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_hash_set_default_size();" (call_expression "bfd_hash_set_default_size()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x17246;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x17246" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plugin_load_plugins();" (call_expression "plugin_load_plugins()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x1724b;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x1724b" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ldemul_set_symbols();" (call_expression "ldemul_set_symbols()" identifier (argument_list "()" ( ))) ;) (if_statement "if (saved_script_handle == (FILE *)0x0) {\n      if (local_44->default_script != (char *)0x0) {\n        *(char **)(puVar21 + -0x10) = local_44->default_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1795f;\n        ldfile_open_command_file(*(char **)(puVar21 + -0x10));\n        piVar14 = &parser_input;\n        parser_input = input_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17970;\n        yyparse();\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017258;\n      }\n      piVar14 = &parser_input;\n      *(int **)(puVar21 + -0x10) = local_24;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1798c;\n      pbVar8 = (bfd *)ldemul_get_script(*(int **)(puVar21 + -0x10));\n      if (local_24[0] == 0) {\n        local_34 = pbVar8;\n        *(bfd **)(puVar21 + -4) = pbVar8;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179b5;\n        lex_string = (char *)pbVar8;\n        uVar9 = dcgettext();\n        pbVar8 = local_34;\n        *(undefined4 *)(puVar21 + -8) = 1;\n        *(undefined4 *)(puVar21 + -0xc) = uVar9;\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179c4;\n        lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))\n        ;\n      }\n      else {\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b37;\n        ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));\n      }\n      ppcVar27 = &lex_string;\n      parser_input = input_script;\n      *(undefined4 *)(puVar21 + -4) = 0x179d2;\n      yyparse();\n      lex_string = (char *)0x0;\n      if (verbose != 0) {\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017845;\n        pcVar7 = "using internal linker script:";\n        *(input_type **)(puVar21 + -4) = &parser_input;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (verbose != 0) {\nLAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        pcVar7 = "using external linker script:";\n        *(undefined4 *)(puVar21 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17856;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;\n        info_msg(*(char **)(puVar21 + -0x10));\n        local_34 = (bfd *)0x8076c;\n        *(char **)(puVar21 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar21 + -0x14) = 0x17873;\n        info_msg(*(char **)(puVar21 + -0x10));\n        if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        *(bfd **)(puVar21 + -0x10) = local_34;\n        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;\n        info_msg(*(char **)(puVar21 + -0x10));\n      }\n    }" if (parenthesized_expression "(saved_script_handle == (FILE *)0x0)" ( (binary_expression "saved_script_handle == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (local_44->default_script != (char *)0x0) {\n        *(char **)(puVar21 + -0x10) = local_44->default_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1795f;\n        ldfile_open_command_file(*(char **)(puVar21 + -0x10));\n        piVar14 = &parser_input;\n        parser_input = input_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17970;\n        yyparse();\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017258;\n      }\n      piVar14 = &parser_input;\n      *(int **)(puVar21 + -0x10) = local_24;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1798c;\n      pbVar8 = (bfd *)ldemul_get_script(*(int **)(puVar21 + -0x10));\n      if (local_24[0] == 0) {\n        local_34 = pbVar8;\n        *(bfd **)(puVar21 + -4) = pbVar8;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179b5;\n        lex_string = (char *)pbVar8;\n        uVar9 = dcgettext();\n        pbVar8 = local_34;\n        *(undefined4 *)(puVar21 + -8) = 1;\n        *(undefined4 *)(puVar21 + -0xc) = uVar9;\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179c4;\n        lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))\n        ;\n      }\n      else {\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b37;\n        ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));\n      }\n      ppcVar27 = &lex_string;\n      parser_input = input_script;\n      *(undefined4 *)(puVar21 + -4) = 0x179d2;\n      yyparse();\n      lex_string = (char *)0x0;\n      if (verbose != 0) {\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017845;\n        pcVar7 = "using internal linker script:";\n        *(input_type **)(puVar21 + -4) = &parser_input;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }" { (if_statement "if (local_44->default_script != (char *)0x0) {\n        *(char **)(puVar21 + -0x10) = local_44->default_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1795f;\n        ldfile_open_command_file(*(char **)(puVar21 + -0x10));\n        piVar14 = &parser_input;\n        parser_input = input_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17970;\n        yyparse();\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017258;\n      }" if (parenthesized_expression "(local_44->default_script != (char *)0x0)" ( (binary_expression "local_44->default_script != (char *)0x0" (field_expression "local_44->default_script" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(char **)(puVar21 + -0x10) = local_44->default_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1795f;\n        ldfile_open_command_file(*(char **)(puVar21 + -0x10));\n        piVar14 = &parser_input;\n        parser_input = input_script;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17970;\n        yyparse();\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017258;\n      }" { (expression_statement "*(char **)(puVar21 + -0x10) = local_44->default_script;" (assignment_expression "*(char **)(puVar21 + -0x10) = local_44->default_script" (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (field_expression "local_44->default_script" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1795f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1795f" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ldfile_open_command_file(*(char **)(puVar21 + -0x10));" (call_expression "ldfile_open_command_file(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "piVar14 = &parser_input;" (assignment_expression "piVar14 = &parser_input" identifier = (pointer_expression "&parser_input" & identifier)) ;) (expression_statement "parser_input = input_script;" (assignment_expression "parser_input = input_script" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17970;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17970" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "yyparse();" (call_expression "yyparse()" identifier (argument_list "()" ( ))) ;) (if_statement "if (saved_script_handle != (FILE *)0x0) goto LAB_00017258;" if (parenthesized_expression "(saved_script_handle != (FILE *)0x0)" ( (binary_expression "saved_script_handle != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017258;" goto statement_identifier ;)) })) (expression_statement "piVar14 = &parser_input;" (assignment_expression "piVar14 = &parser_input" identifier = (pointer_expression "&parser_input" & identifier)) ;) (expression_statement "*(int **)(puVar21 + -0x10) = local_24;" (assignment_expression "*(int **)(puVar21 + -0x10) = local_24" (pointer_expression "*(int **)(puVar21 + -0x10)" * (cast_expression "(int **)(puVar21 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1798c;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1798c" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar8 = (bfd *)ldemul_get_script(*(int **)(puVar21 + -0x10));" (assignment_expression "pbVar8 = (bfd *)ldemul_get_script(*(int **)(puVar21 + -0x10))" identifier = (cast_expression "(bfd *)ldemul_get_script(*(int **)(puVar21 + -0x10))" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ldemul_get_script(*(int **)(puVar21 + -0x10))" identifier (argument_list "(*(int **)(puVar21 + -0x10))" ( (pointer_expression "*(int **)(puVar21 + -0x10)" * (cast_expression "(int **)(puVar21 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))))) ;) (if_statement "if (local_24[0] == 0) {\n        local_34 = pbVar8;\n        *(bfd **)(puVar21 + -4) = pbVar8;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179b5;\n        lex_string = (char *)pbVar8;\n        uVar9 = dcgettext();\n        pbVar8 = local_34;\n        *(undefined4 *)(puVar21 + -8) = 1;\n        *(undefined4 *)(puVar21 + -0xc) = uVar9;\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179c4;\n        lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))\n        ;\n      }\n      else {\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b37;\n        ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));\n      }" if (parenthesized_expression "(local_24[0] == 0)" ( (binary_expression "local_24[0] == 0" (subscript_expression "local_24[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        local_34 = pbVar8;\n        *(bfd **)(puVar21 + -4) = pbVar8;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179b5;\n        lex_string = (char *)pbVar8;\n        uVar9 = dcgettext();\n        pbVar8 = local_34;\n        *(undefined4 *)(puVar21 + -8) = 1;\n        *(undefined4 *)(puVar21 + -0xc) = uVar9;\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x179c4;\n        lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))\n        ;\n      }" { (expression_statement "local_34 = pbVar8;" (assignment_expression "local_34 = pbVar8" identifier = identifier) ;) (expression_statement "*(bfd **)(puVar21 + -4) = pbVar8;" (assignment_expression "*(bfd **)(puVar21 + -4) = pbVar8" (pointer_expression "*(bfd **)(puVar21 + -4)" * (cast_expression "(bfd **)(puVar21 + -4)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "built in linker script";" (assignment_expression "*(char **)(puVar21 + -0xc) = "built in linker script"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""built in linker script"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x179b5;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x179b5" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lex_string = (char *)pbVar8;" (assignment_expression "lex_string = (char *)pbVar8" identifier = (cast_expression "(char *)pbVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "pbVar8 = local_34;" (assignment_expression "pbVar8 = local_34" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xc) = uVar9;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = uVar9" (pointer_expression "*(undefined4 *)(puVar21 + -0xc)" * (cast_expression "(undefined4 *)(puVar21 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(bfd **)(puVar21 + -0x10) = pbVar8;" (assignment_expression "*(bfd **)(puVar21 + -0x10) = pbVar8" (pointer_expression "*(bfd **)(puVar21 + -0x10)" * (cast_expression "(bfd **)(puVar21 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x179c4;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x179c4" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))\n        ;" (call_expression "lex_redirect(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))" identifier (argument_list "(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc),*(uint *)(puVar21 + -8))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar21 + -8)" * (cast_expression "(uint *)(puVar21 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b37;\n        ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));\n      }" else (compound_statement "{\n        *(bfd **)(puVar21 + -0x10) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b37;\n        ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));\n      }" { (expression_statement "*(bfd **)(puVar21 + -0x10) = pbVar8;" (assignment_expression "*(bfd **)(puVar21 + -0x10) = pbVar8" (pointer_expression "*(bfd **)(puVar21 + -0x10)" * (cast_expression "(bfd **)(puVar21 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17b37;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17b37" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ldfile_open_default_command_file(*(char **)(puVar21 + -0x10));" (call_expression "ldfile_open_default_command_file(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) }))) (expression_statement "ppcVar27 = &lex_string;" (assignment_expression "ppcVar27 = &lex_string" identifier = (pointer_expression "&lex_string" & identifier)) ;) (expression_statement "parser_input = input_script;" (assignment_expression "parser_input = input_script" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x179d2;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x179d2" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "yyparse();" (call_expression "yyparse()" identifier (argument_list "()" ( ))) ;) (expression_statement "lex_string = (char *)0x0;" (assignment_expression "lex_string = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (verbose != 0) {\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017845;\n        pcVar7 = "using internal linker script:";\n        *(input_type **)(puVar21 + -4) = &parser_input;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        goto LAB_0001784e;\n      }" if (parenthesized_expression "(verbose != 0)" ( (binary_expression "verbose != 0" identifier != number_literal) )) (compound_statement "{\n        if (saved_script_handle != (FILE *)0x0) goto LAB_00017845;\n        pcVar7 = "using internal linker script:";\n        *(input_type **)(puVar21 + -4) = &parser_input;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        goto LAB_0001784e;\n      }" { (if_statement "if (saved_script_handle != (FILE *)0x0) goto LAB_00017845;" if (parenthesized_expression "(saved_script_handle != (FILE *)0x0)" ( (binary_expression "saved_script_handle != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017845;" goto statement_identifier ;)) (expression_statement "pcVar7 = "using internal linker script:";" (assignment_expression "pcVar7 = "using internal linker script:"" identifier = (string_literal ""using internal linker script:"" " string_content ")) ;) (expression_statement "*(input_type **)(puVar21 + -4) = &parser_input;" (assignment_expression "*(input_type **)(puVar21 + -4) = &parser_input" (pointer_expression "*(input_type **)(puVar21 + -4)" * (cast_expression "(input_type **)(puVar21 + -4)" ( (type_descriptor "input_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (pointer_expression "&parser_input" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001784e;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00017258:\n      if (verbose != 0) {\nLAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        pcVar7 = "using external linker script:";\n        *(undefined4 *)(puVar21 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17856;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;\n        info_msg(*(char **)(puVar21 + -0x10));\n        local_34 = (bfd *)0x8076c;\n        *(char **)(puVar21 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar21 + -0x14) = 0x17873;\n        info_msg(*(char **)(puVar21 + -0x10));\n        if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        *(bfd **)(puVar21 + -0x10) = local_34;\n        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;\n        info_msg(*(char **)(puVar21 + -0x10));\n      }\n    }" else (compound_statement "{\nLAB_00017258:\n      if (verbose != 0) {\nLAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        pcVar7 = "using external linker script:";\n        *(undefined4 *)(puVar21 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17856;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;\n        info_msg(*(char **)(puVar21 + -0x10));\n        local_34 = (bfd *)0x8076c;\n        *(char **)(puVar21 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar21 + -0x14) = 0x17873;\n        info_msg(*(char **)(puVar21 + -0x10));\n        if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        *(bfd **)(puVar21 + -0x10) = local_34;\n        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;\n        info_msg(*(char **)(puVar21 + -0x10));\n      }\n    }" { (labeled_statement "LAB_00017258:\n      if (verbose != 0) {\nLAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        pcVar7 = "using external linker script:";\n        *(undefined4 *)(puVar21 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17856;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;\n        info_msg(*(char **)(puVar21 + -0x10));\n        local_34 = (bfd *)0x8076c;\n        *(char **)(puVar21 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar21 + -0x14) = 0x17873;\n        info_msg(*(char **)(puVar21 + -0x10));\n        if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        *(bfd **)(puVar21 + -0x10) = local_34;\n        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;\n        info_msg(*(char **)(puVar21 + -0x10));\n      }" statement_identifier : (if_statement "if (verbose != 0) {\nLAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        pcVar7 = "using external linker script:";\n        *(undefined4 *)(puVar21 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17856;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;\n        info_msg(*(char **)(puVar21 + -0x10));\n        local_34 = (bfd *)0x8076c;\n        *(char **)(puVar21 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar21 + -0x14) = 0x17873;\n        info_msg(*(char **)(puVar21 + -0x10));\n        if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        *(bfd **)(puVar21 + -0x10) = local_34;\n        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;\n        info_msg(*(char **)(puVar21 + -0x10));\n      }" if (parenthesized_expression "(verbose != 0)" ( (binary_expression "verbose != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        pcVar7 = "using external linker script:";\n        *(undefined4 *)(puVar21 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17856;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1785e;\n        info_msg(*(char **)(puVar21 + -0x10));\n        local_34 = (bfd *)0x8076c;\n        *(char **)(puVar21 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar21 + -0x14) = 0x17873;\n        info_msg(*(char **)(puVar21 + -0x10));\n        if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        *(bfd **)(puVar21 + -0x10) = local_34;\n        *(undefined4 *)(puVar21 + -0x14) = 0x178ff;\n        info_msg(*(char **)(puVar21 + -0x10));\n      }" { (labeled_statement "LAB_00017845:\n        *(char ***)(puVar21 + -4) = ppcVar27;" statement_identifier : (expression_statement "*(char ***)(puVar21 + -4) = ppcVar27;" (assignment_expression "*(char ***)(puVar21 + -4) = ppcVar27" (pointer_expression "*(char ***)(puVar21 + -4)" * (cast_expression "(char ***)(puVar21 + -4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "pcVar7 = "using external linker script:";" (assignment_expression "pcVar7 = "using external linker script:"" identifier = (string_literal ""using external linker script:"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_0001784e:\n        *(char **)(puVar21 + -0xc) = pcVar7;" statement_identifier : (expression_statement "*(char **)(puVar21 + -0xc) = pcVar7;" (assignment_expression "*(char **)(puVar21 + -0xc) = pcVar7" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17856;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17856" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1785e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1785e" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "info_msg(*(char **)(puVar21 + -0x10));" (call_expression "info_msg(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "local_34 = (bfd *)0x8076c;" (assignment_expression "local_34 = (bfd *)0x8076c" identifier = (cast_expression "(bfd *)0x8076c" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(char **)(puVar21 + -0x10) = "\n==================================================\n";" (assignment_expression "*(char **)(puVar21 + -0x10) = "\n==================================================\n"" (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (string_literal ""\n==================================================\n"" " escape_sequence string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17873;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17873" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "info_msg(*(char **)(puVar21 + -0x10));" (call_expression "info_msg(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) (if_statement "if (saved_script_handle == (FILE *)0x0) {\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }\n        else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }" if (parenthesized_expression "(saved_script_handle == (FILE *)0x0)" ( (binary_expression "saved_script_handle == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(int **)(puVar21 + -0x10) = local_24;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a32;\n          pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a3a;\n          info_msg(*(char **)(puVar21 + -0x10));\n        }" { (expression_statement "*(int **)(puVar21 + -0x10) = local_24;" (assignment_expression "*(int **)(puVar21 + -0x10) = local_24" (pointer_expression "*(int **)(puVar21 + -0x10)" * (cast_expression "(int **)(puVar21 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17a32;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17a32" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10));" (assignment_expression "pcVar7 = ldemul_get_script(*(int **)(puVar21 + -0x10))" identifier = (call_expression "ldemul_get_script(*(int **)(puVar21 + -0x10))" identifier (argument_list "(*(int **)(puVar21 + -0x10))" ( (pointer_expression "*(int **)(puVar21 + -0x10)" * (cast_expression "(int **)(puVar21 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar21 + -0x10) = pcVar7;" (assignment_expression "*(char **)(puVar21 + -0x10) = pcVar7" (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17a3a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17a3a" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "info_msg(*(char **)(puVar21 + -0x10));" (call_expression "info_msg(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }" else (compound_statement "{\n          ppcVar27 = (char **)&DAT_0007ee86;\n          *(undefined4 *)(puVar21 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17896;\n          piVar14 = (input_type *)xmalloc();\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }\n          *(FILE **)(puVar21 + -0x10) = saved_script_handle;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar21 + -0x10));\n          *(input_type **)(puVar21 + -0x10) = piVar14;\n          *(undefined4 *)(puVar21 + -0x14) = 0x178f1;\n          free(*(void **)(puVar21 + -0x10));\n        }" { (expression_statement "ppcVar27 = (char **)&DAT_0007ee86;" (assignment_expression "ppcVar27 = (char **)&DAT_0007ee86" identifier = (cast_expression "(char **)&DAT_0007ee86" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_0007ee86" & identifier))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0x2001;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0x2001" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17896;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17896" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar14 = (input_type *)xmalloc();" (assignment_expression "piVar14 = (input_type *)xmalloc()" identifier = (cast_expression "(input_type *)xmalloc()" ( (type_descriptor "input_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(FILE **)(puVar21 + -0x10) = saved_script_handle;" (assignment_expression "*(FILE **)(puVar21 + -0x10) = saved_script_handle" (pointer_expression "*(FILE **)(puVar21 + -0x10)" * (cast_expression "(FILE **)(puVar21 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x178a4;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x178a4" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "rewind(*(FILE **)(puVar21 + -0x10));" (call_expression "rewind(*(FILE **)(puVar21 + -0x10))" identifier (argument_list "(*(FILE **)(puVar21 + -0x10))" ( (pointer_expression "*(FILE **)(puVar21 + -0x10)" * (cast_expression "(FILE **)(puVar21 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) (while_statement "while( true ) {\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            *(FILE **)(puVar21 + -4) = saved_script_handle;\n            *(undefined4 *)(puVar21 + -8) = 0x2000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(input_type **)(puVar21 + -0x10) = piVar14;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178d4;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 == 0) break;\n            *(undefined1 *)((int)piVar14 + sVar6) = 0;\n            *(input_type **)(puVar21 + -0xc) = piVar14;\n            *(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar21 + -0x14) = 0x178be;\n            info_msg(*(char **)(puVar21 + -0x10));\n          }" { (expression_statement "*(FILE **)(puVar21 + -4) = saved_script_handle;" (assignment_expression "*(FILE **)(puVar21 + -4) = saved_script_handle" (pointer_expression "*(FILE **)(puVar21 + -4)" * (cast_expression "(FILE **)(puVar21 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0x2000;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0x2000" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0xc)" * (cast_expression "(undefined4 *)(puVar21 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(input_type **)(puVar21 + -0x10) = piVar14;" (assignment_expression "*(input_type **)(puVar21 + -0x10) = piVar14" (pointer_expression "*(input_type **)(puVar21 + -0x10)" * (cast_expression "(input_type **)(puVar21 + -0x10)" ( (type_descriptor "input_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x178d4;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x178d4" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));" (assignment_expression "sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4))" identifier = (call_expression "fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4))" identifier (argument_list "(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4))" ( (pointer_expression "*(void **)(puVar21 + -0x10)" * (cast_expression "(void **)(puVar21 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar21 + -0xc)" * (cast_expression "(size_t *)(puVar21 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar21 + -8)" * (cast_expression "(size_t *)(puVar21 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar21 + -4)" * (cast_expression "(FILE **)(puVar21 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar6 == 0) break;" if (parenthesized_expression "(sVar6 == 0)" ( (binary_expression "sVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(undefined1 *)((int)piVar14 + sVar6) = 0;" (assignment_expression "*(undefined1 *)((int)piVar14 + sVar6) = 0" (pointer_expression "*(undefined1 *)((int)piVar14 + sVar6)" * (cast_expression "(undefined1 *)((int)piVar14 + sVar6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + sVar6)" ( (binary_expression "(int)piVar14 + sVar6" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(input_type **)(puVar21 + -0xc) = piVar14;" (assignment_expression "*(input_type **)(puVar21 + -0xc) = piVar14" (pointer_expression "*(input_type **)(puVar21 + -0xc)" * (cast_expression "(input_type **)(puVar21 + -0xc)" ( (type_descriptor "input_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar21 + -0x10) = &DAT_0007ee86;" (assignment_expression "*(undefined **)(puVar21 + -0x10) = &DAT_0007ee86" (pointer_expression "*(undefined **)(puVar21 + -0x10)" * (cast_expression "(undefined **)(puVar21 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_0007ee86" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x178be;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x178be" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "info_msg(*(char **)(puVar21 + -0x10));" (call_expression "info_msg(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(FILE **)(puVar21 + -0x10) = saved_script_handle;" (assignment_expression "*(FILE **)(puVar21 + -0x10) = saved_script_handle" (pointer_expression "*(FILE **)(puVar21 + -0x10)" * (cast_expression "(FILE **)(puVar21 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x178e9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x178e9" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "rewind(*(FILE **)(puVar21 + -0x10));" (call_expression "rewind(*(FILE **)(puVar21 + -0x10))" identifier (argument_list "(*(FILE **)(puVar21 + -0x10))" ( (pointer_expression "*(FILE **)(puVar21 + -0x10)" * (cast_expression "(FILE **)(puVar21 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(input_type **)(puVar21 + -0x10) = piVar14;" (assignment_expression "*(input_type **)(puVar21 + -0x10) = piVar14" (pointer_expression "*(input_type **)(puVar21 + -0x10)" * (cast_expression "(input_type **)(puVar21 + -0x10)" ( (type_descriptor "input_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x178f1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x178f1" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar21 + -0x10));" (call_expression "free(*(void **)(puVar21 + -0x10))" identifier (argument_list "(*(void **)(puVar21 + -0x10))" ( (pointer_expression "*(void **)(puVar21 + -0x10)" * (cast_expression "(void **)(puVar21 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) }))) (expression_statement "*(bfd **)(puVar21 + -0x10) = local_34;" (assignment_expression "*(bfd **)(puVar21 + -0x10) = local_34" (pointer_expression "*(bfd **)(puVar21 + -0x10)" * (cast_expression "(bfd **)(puVar21 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x178ff;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x178ff" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "info_msg(*(char **)(puVar21 + -0x10));" (call_expression "info_msg(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) }))) }))) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) (if_statement "if (local_44->force_group_allocation == 0) {\n      local_34 = (bfd *)((uint)local_34 & 0xffffff00);\n      uVar19 = (uint)((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2);\n    }" if (parenthesized_expression "(local_44->force_group_allocation == 0)" ( (binary_expression "local_44->force_group_allocation == 0" (field_expression "local_44->force_group_allocation" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      local_34 = (bfd *)((uint)local_34 & 0xffffff00);\n      uVar19 = (uint)((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2);\n    }" { (expression_statement "local_34 = (bfd *)((uint)local_34 & 0xffffff00);" (assignment_expression "local_34 = (bfd *)((uint)local_34 & 0xffffff00)" identifier = (cast_expression "(bfd *)((uint)local_34 & 0xffffff00)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 & 0xffffff00)" ( (binary_expression "(uint)local_34 & 0xffffff00" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar19 = (uint)((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2);" (assignment_expression "uVar19 = (uint)((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2)" identifier = (call_expression "(uint)((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2)" ( (binary_expression "(undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n                     (undefined1  [156])0x2" (call_expression "(undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3)" (parenthesized_expression "(undefined1  [156])" ( (subscript_expression "undefined1  [156]" identifier [ number_literal ]) )) (argument_list "((undefined1  [156])*local_3c & (undefined1  [156])0x3)" ( (binary_expression "(undefined1  [156])*local_3c & (undefined1  [156])0x3" (binary_expression "(undefined1  [156])*local_3c" (parenthesized_expression "(undefined1  [156])" ( (subscript_expression "undefined1  [156]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [156])0x3" ( (type_descriptor "undefined1  [156]" type_identifier (abstract_array_declarator "[156]" [ number_literal ])) ) number_literal)) ))) != (cast_expression "(undefined1  [156])0x2" ( (type_descriptor "undefined1  [156]" type_identifier (abstract_array_declarator "[156]" [ number_literal ])) ) number_literal)) )))) ;) })) (expression_statement "local_34 = (bfd *)CONCAT31(local_34._1_3_,local_3c->field_0x1);" (assignment_expression "local_34 = (bfd *)CONCAT31(local_34._1_3_,local_3c->field_0x1)" identifier = (cast_expression "(bfd *)CONCAT31(local_34._1_3_,local_3c->field_0x1)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_34._1_3_,local_3c->field_0x1)" identifier (argument_list "(local_34._1_3_,local_3c->field_0x1)" ( (field_expression "local_34._1_3_" identifier . field_identifier) , (field_expression "local_3c->field_0x1" identifier -> field_identifier) ))))) ;) (expression_statement "local_3c->field_0x1 = local_3c->field_0x1 & 0xef | (byte)(uVar19 << 4);" (assignment_expression "local_3c->field_0x1 = local_3c->field_0x1 & 0xef | (byte)(uVar19 << 4)" (field_expression "local_3c->field_0x1" identifier -> field_identifier) = (binary_expression "local_3c->field_0x1 & 0xef | (byte)(uVar19 << 4)" (binary_expression "local_3c->field_0x1 & 0xef" (field_expression "local_3c->field_0x1" identifier -> field_identifier) & number_literal) | (call_expression "(byte)(uVar19 << 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar19 << 4)" ( (binary_expression "uVar19 << 4" identifier << number_literal) ))))) ;) (if_statement "if (local_44->print_output_format != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17920;\n      pcVar7 = lang_get_output_target();\n      *(undefined4 *)(puVar21 + -4) = extraout_EDX_00;\n      *(undefined4 *)(puVar21 + -8) = extraout_EDX_00;\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined **)(puVar21 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1792f;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }" if (parenthesized_expression "(local_44->print_output_format != 0)" ( (binary_expression "local_44->print_output_format != 0" (field_expression "local_44->print_output_format" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar21 + -4) = 0x17920;\n      pcVar7 = lang_get_output_target();\n      *(undefined4 *)(puVar21 + -4) = extraout_EDX_00;\n      *(undefined4 *)(puVar21 + -8) = extraout_EDX_00;\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined **)(puVar21 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1792f;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }" { (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x17920;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x17920" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar7 = lang_get_output_target();" (assignment_expression "pcVar7 = lang_get_output_target()" identifier = (call_expression "lang_get_output_target()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar21 + -4) = extraout_EDX_00;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = extraout_EDX_00" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = extraout_EDX_00;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = extraout_EDX_00" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar21 + -0xc) = pcVar7;" (assignment_expression "*(char **)(puVar21 + -0xc) = pcVar7" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar21 + -0x10) = &DAT_000814fd;" (assignment_expression "*(undefined **)(puVar21 + -0x10) = &DAT_000814fd" (pointer_expression "*(undefined **)(puVar21 + -0x10)" * (cast_expression "(undefined **)(puVar21 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_000814fd" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1792f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1792f" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "info_msg(*(char **)(puVar21 + -0x10));" (call_expression "info_msg(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x172ad;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x172ad" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lang_final();" (call_expression "lang_final()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((*local_48 == input_mri_script) && (version_printed != 0)) goto LAB_000172f3;" if (parenthesized_expression "((*local_48 == input_mri_script) && (version_printed != 0))" ( (binary_expression "(*local_48 == input_mri_script) && (version_printed != 0)" (parenthesized_expression "(*local_48 == input_mri_script)" ( (binary_expression "*local_48 == input_mri_script" (pointer_expression "*local_48" * identifier) == identifier) )) && (parenthesized_expression "(version_printed != 0)" ( (binary_expression "version_printed != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_000172f3;" goto statement_identifier ;)) (if_statement "if ((local_3c->field_0x7 & 0x20) != 0) {\n      local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n      if ((*(byte *)local_3c & 3) != 3) {\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17680;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17688;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n    }" if (parenthesized_expression "((local_3c->field_0x7 & 0x20) != 0)" ( (binary_expression "(local_3c->field_0x7 & 0x20) != 0" (parenthesized_expression "(local_3c->field_0x7 & 0x20)" ( (binary_expression "local_3c->field_0x7 & 0x20" (field_expression "local_3c->field_0x7" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);\n      if ((*(byte *)local_3c & 3) != 3) {\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17680;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17688;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n    }" { (expression_statement "local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);" (assignment_expression "local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c)" identifier = (cast_expression "(bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_34._1_3_,*(byte *)local_3c)" identifier (argument_list "(local_34._1_3_,*(byte *)local_3c)" ( (field_expression "local_34._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)local_3c" * (cast_expression "(byte *)local_3c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (if_statement "if ((*(byte *)local_3c & 3) != 3) {\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17680;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17688;\n        einfo(*(char **)(puVar21 + -0x10));\n      }" if (parenthesized_expression "((*(byte *)local_3c & 3) != 3)" ( (binary_expression "(*(byte *)local_3c & 3) != 3" (parenthesized_expression "(*(byte *)local_3c & 3)" ( (binary_expression "*(byte *)local_3c & 3" (pointer_expression "*(byte *)local_3c" * (cast_expression "(byte *)local_3c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(char ***)(puVar21 + -4) = ppcVar27;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17680;\n        uVar9 = dcgettext();\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17688;\n        einfo(*(char **)(puVar21 + -0x10));\n      }" { (expression_statement "*(char ***)(puVar21 + -4) = ppcVar27;" (assignment_expression "*(char ***)(puVar21 + -4) = ppcVar27" (pointer_expression "*(char ***)(puVar21 + -4)" * (cast_expression "(char ***)(puVar21 + -4)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";" (assignment_expression "*(char **)(puVar21 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: --no-define-common may not be used without -shared\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17680;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17680" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17688;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17688" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "einfo(*(char **)(puVar21 + -0x10));" (call_expression "einfo(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) })) (expression_statement "pbVar8 = local_38;" (assignment_expression "pbVar8 = local_38" identifier = identifier) ;) (if_statement "if (local_38->filename == (char *)0x0) {\n      if (version_printed != 0 || local_44->print_output_format != 0) goto LAB_000172f3;\n      *(input_type **)(puVar21 + -4) = piVar14;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1751c;\n      pbVar8 = (bfd *)dcgettext();\n      *(bfd **)(puVar21 + -0x10) = pbVar8;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17524;\n      einfo(*(char **)(puVar21 + -0x10));\n    }" if (parenthesized_expression "(local_38->filename == (char *)0x0)" ( (binary_expression "local_38->filename == (char *)0x0" (field_expression "local_38->filename" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (version_printed != 0 || local_44->print_output_format != 0) goto LAB_000172f3;\n      *(input_type **)(puVar21 + -4) = piVar14;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x1751c;\n      pbVar8 = (bfd *)dcgettext();\n      *(bfd **)(puVar21 + -0x10) = pbVar8;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17524;\n      einfo(*(char **)(puVar21 + -0x10));\n    }" { (if_statement "if (version_printed != 0 || local_44->print_output_format != 0) goto LAB_000172f3;" if (parenthesized_expression "(version_printed != 0 || local_44->print_output_format != 0)" ( (binary_expression "version_printed != 0 || local_44->print_output_format != 0" (binary_expression "version_printed != 0" identifier != number_literal) || (binary_expression "local_44->print_output_format != 0" (field_expression "local_44->print_output_format" identifier -> field_identifier) != number_literal)) )) (goto_statement "goto LAB_000172f3;" goto statement_identifier ;)) (expression_statement "*(input_type **)(puVar21 + -4) = piVar14;" (assignment_expression "*(input_type **)(puVar21 + -4) = piVar14" (pointer_expression "*(input_type **)(puVar21 + -4)" * (cast_expression "(input_type **)(puVar21 + -4)" ( (type_descriptor "input_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "%F%P: no input files\n";" (assignment_expression "*(char **)(puVar21 + -0xc) = "%F%P: no input files\n"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: no input files\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1751c;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1751c" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar8 = (bfd *)dcgettext();" (assignment_expression "pbVar8 = (bfd *)dcgettext()" identifier = (cast_expression "(bfd *)dcgettext()" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(bfd **)(puVar21 + -0x10) = pbVar8;" (assignment_expression "*(bfd **)(puVar21 + -0x10) = pbVar8" (pointer_expression "*(bfd **)(puVar21 + -0x10)" * (cast_expression "(bfd **)(puVar21 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17524;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17524" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "einfo(*(char **)(puVar21 + -0x10));" (call_expression "einfo(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if (trace_files != 0) {\n      *(bfd **)(puVar21 + -4) = pbVar8;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176aa;\n      uVar9 = dcgettext();\n      *(byte **)(puVar21 + -0xc) = local_54;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176b5;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }" if (parenthesized_expression "(trace_files != 0)" ( (binary_expression "trace_files != 0" identifier != number_literal) )) (compound_statement "{\n      *(bfd **)(puVar21 + -4) = pbVar8;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176aa;\n      uVar9 = dcgettext();\n      *(byte **)(puVar21 + -0xc) = local_54;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176b5;\n      info_msg(*(char **)(puVar21 + -0x10));\n    }" { (expression_statement "*(bfd **)(puVar21 + -4) = pbVar8;" (assignment_expression "*(bfd **)(puVar21 + -4) = pbVar8" (pointer_expression "*(bfd **)(puVar21 + -4)" * (cast_expression "(bfd **)(puVar21 + -4)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "%P: mode %s\n";" (assignment_expression "*(char **)(puVar21 + -0xc) = "%P: mode %s\n"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""%P: mode %s\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x176aa;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x176aa" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(byte **)(puVar21 + -0xc) = local_54;" (assignment_expression "*(byte **)(puVar21 + -0xc) = local_54" (pointer_expression "*(byte **)(puVar21 + -0xc)" * (cast_expression "(byte **)(puVar21 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x176b5;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x176b5" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "info_msg(*(char **)(puVar21 + -0x10));" (call_expression "info_msg(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x1753b;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x1753b" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ldemul_after_parse();" (call_expression "ldemul_after_parse()" identifier (argument_list "()" ( ))) ;) (expression_statement "plVar4 = local_4c;" (assignment_expression "plVar4 = local_4c" identifier = identifier) ;) (expression_statement "pcVar7 = local_4c->map_filename;" (assignment_expression "pcVar7 = local_4c->map_filename" identifier = (field_expression "local_4c->map_filename" identifier -> field_identifier)) ;) (if_statement "if (pcVar7 != (char *)0x0) {\n      *(ld_config_type **)(puVar21 + -4) = local_4c;\n      *(ld_config_type **)(puVar21 + -8) = plVar4;\n      *(undefined **)(puVar21 + -0xc) = &DAT_000700e6;\n      *(char **)(puVar21 + -0x10) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17554;\n      iVar18 = strcmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n      if (iVar18 == 0) {\n        local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar21 + -4) = iVar18;\n        *(int *)(puVar21 + -8) = iVar18;\n        *(char **)(puVar21 + -0xc) = "w";\n        *(char **)(puVar21 + -0x10) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17a5c;\n        pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n        local_4c->map_file = (FILE *)pFVar15;\n        if (pFVar15 == (FILE *)0x0) {\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }\n      }\n    }" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(ld_config_type **)(puVar21 + -4) = local_4c;\n      *(ld_config_type **)(puVar21 + -8) = plVar4;\n      *(undefined **)(puVar21 + -0xc) = &DAT_000700e6;\n      *(char **)(puVar21 + -0x10) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17554;\n      iVar18 = strcmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n      if (iVar18 == 0) {\n        local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar21 + -4) = iVar18;\n        *(int *)(puVar21 + -8) = iVar18;\n        *(char **)(puVar21 + -0xc) = "w";\n        *(char **)(puVar21 + -0x10) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17a5c;\n        pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n        local_4c->map_file = (FILE *)pFVar15;\n        if (pFVar15 == (FILE *)0x0) {\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }\n      }\n    }" { (expression_statement "*(ld_config_type **)(puVar21 + -4) = local_4c;" (assignment_expression "*(ld_config_type **)(puVar21 + -4) = local_4c" (pointer_expression "*(ld_config_type **)(puVar21 + -4)" * (cast_expression "(ld_config_type **)(puVar21 + -4)" ( (type_descriptor "ld_config_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ld_config_type **)(puVar21 + -8) = plVar4;" (assignment_expression "*(ld_config_type **)(puVar21 + -8) = plVar4" (pointer_expression "*(ld_config_type **)(puVar21 + -8)" * (cast_expression "(ld_config_type **)(puVar21 + -8)" ( (type_descriptor "ld_config_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar21 + -0xc) = &DAT_000700e6;" (assignment_expression "*(undefined **)(puVar21 + -0xc) = &DAT_000700e6" (pointer_expression "*(undefined **)(puVar21 + -0xc)" * (cast_expression "(undefined **)(puVar21 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_000700e6" & identifier)) ;) (expression_statement "*(char **)(puVar21 + -0x10) = pcVar7;" (assignment_expression "*(char **)(puVar21 + -0x10) = pcVar7" (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17554;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17554" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier (argument_list "(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar18 == 0) {\n        local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar21 + -4) = iVar18;\n        *(int *)(puVar21 + -8) = iVar18;\n        *(char **)(puVar21 + -0xc) = "w";\n        *(char **)(puVar21 + -0x10) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17a5c;\n        pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n        local_4c->map_file = (FILE *)pFVar15;\n        if (pFVar15 == (FILE *)0x0) {\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }\n      }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n        local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc;\n      }" { (expression_statement "local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc;" (assignment_expression "local_4c->map_file = *(FILE **)PTR_stdout_001c1fdc" (field_expression "local_4c->map_file" identifier -> field_identifier) = (pointer_expression "*(FILE **)PTR_stdout_001c1fdc" * (cast_expression "(FILE **)PTR_stdout_001c1fdc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n        *(int *)(puVar21 + -4) = iVar18;\n        *(int *)(puVar21 + -8) = iVar18;\n        *(char **)(puVar21 + -0xc) = "w";\n        *(char **)(puVar21 + -0x10) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17a5c;\n        pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n        local_4c->map_file = (FILE *)pFVar15;\n        if (pFVar15 == (FILE *)0x0) {\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }\n      }" else (compound_statement "{\n        *(int *)(puVar21 + -4) = iVar18;\n        *(int *)(puVar21 + -8) = iVar18;\n        *(char **)(puVar21 + -0xc) = "w";\n        *(char **)(puVar21 + -0x10) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17a5c;\n        pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n        local_4c->map_file = (FILE *)pFVar15;\n        if (pFVar15 == (FILE *)0x0) {\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }\n      }" { (expression_statement "*(int *)(puVar21 + -4) = iVar18;" (assignment_expression "*(int *)(puVar21 + -4) = iVar18" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -8) = iVar18;" (assignment_expression "*(int *)(puVar21 + -8) = iVar18" (pointer_expression "*(int *)(puVar21 + -8)" * (cast_expression "(int *)(puVar21 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "w";" (assignment_expression "*(char **)(puVar21 + -0xc) = "w"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""w"" " string_content ")) ;) (expression_statement "*(char **)(puVar21 + -0x10) = pcVar7;" (assignment_expression "*(char **)(puVar21 + -0x10) = pcVar7" (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17a5c;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17a5c" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));" (assignment_expression "pFVar15 = fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier = (call_expression "fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier (argument_list "(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "local_4c->map_file = (FILE *)pFVar15;" (assignment_expression "local_4c->map_file = (FILE *)pFVar15" (field_expression "local_4c->map_file" identifier -> field_identifier) = (cast_expression "(FILE *)pFVar15" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pFVar15 == (FILE *)0x0) {\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }" if (parenthesized_expression "(pFVar15 == (FILE *)0x0)" ( (binary_expression "pFVar15 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar21 + -0x10) = 1;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a77;\n          bfd_set_error();\n          pcVar7 = local_4c->map_filename;\n          *(undefined4 *)(puVar21 + -8) = 5;\n          *(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar21 + -0x10) = 0;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a90;\n          uVar9 = dcgettext();\n          *(char **)(puVar21 + -0xc) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17a99;\n          einfo(*(char **)(puVar21 + -0x10));\n        }" { (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17a77;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17a77" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_set_error();" (call_expression "bfd_set_error()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar7 = local_4c->map_filename;" (assignment_expression "pcVar7 = local_4c->map_filename" identifier = (field_expression "local_4c->map_filename" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n";" (assignment_expression "*(char **)(puVar21 + -0xc) = "%F%P: cannot open map file %s: %E\n"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: cannot open map file %s: %E\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17a90;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17a90" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)(puVar21 + -0xc) = pcVar7;" (assignment_expression "*(char **)(puVar21 + -0xc) = pcVar7" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17a99;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17a99" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "einfo(*(char **)(puVar21 + -0x10));" (call_expression "einfo(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) }))) })) (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x17572;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x17572" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lang_process();" (call_expression "lang_process()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c);" (assignment_expression "local_34 = (bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c)" identifier = (cast_expression "(bfd *)CONCAT31(local_34._1_3_,*(byte *)local_3c)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_34._1_3_,*(byte *)local_3c)" identifier (argument_list "(local_34._1_3_,*(byte *)local_3c)" ( (field_expression "local_34._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)local_3c" * (cast_expression "(byte *)local_3c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (if_statement "if ((*(byte *)local_3c & 3) == 2) {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 | 0x40;\n    }" if (parenthesized_expression "((*(byte *)local_3c & 3) == 2)" ( (binary_expression "(*(byte *)local_3c & 3) == 2" (parenthesized_expression "(*(byte *)local_3c & 3)" ( (binary_expression "*(byte *)local_3c & 3" (pointer_expression "*(byte *)local_3c" * (cast_expression "(byte *)local_3c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 & 0xffffffbf;\n    }" { (expression_statement "puVar1 = &local_3c->output_bfd->field_0x28;" (assignment_expression "puVar1 = &local_3c->output_bfd->field_0x28" identifier = (pointer_expression "&local_3c->output_bfd->field_0x28" & (field_expression "local_3c->output_bfd->field_0x28" (field_expression "local_3c->output_bfd" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "*(uint *)puVar1 = *(uint *)puVar1 & 0xffffffbf;" (assignment_expression "*(uint *)puVar1 = *(uint *)puVar1 & 0xffffffbf" (pointer_expression "*(uint *)puVar1" * (cast_expression "(uint *)puVar1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(uint *)puVar1 & 0xffffffbf" (pointer_expression "*(uint *)puVar1" * (cast_expression "(uint *)puVar1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal)) ;) }) (else_clause "else {\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 | 0x40;\n    }" else (compound_statement "{\n      puVar1 = &local_3c->output_bfd->field_0x28;\n      *(uint *)puVar1 = *(uint *)puVar1 | 0x40;\n    }" { (expression_statement "puVar1 = &local_3c->output_bfd->field_0x28;" (assignment_expression "puVar1 = &local_3c->output_bfd->field_0x28" identifier = (pointer_expression "&local_3c->output_bfd->field_0x28" & (field_expression "local_3c->output_bfd->field_0x28" (field_expression "local_3c->output_bfd" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "*(uint *)puVar1 = *(uint *)puVar1 | 0x40;" (assignment_expression "*(uint *)puVar1 = *(uint *)puVar1 | 0x40" (pointer_expression "*(uint *)puVar1" * (cast_expression "(uint *)puVar1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(uint *)puVar1 | 0x40" (pointer_expression "*(uint *)puVar1" * (cast_expression "(uint *)puVar1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) | number_literal)) ;) }))) (if_statement "if ((local_3c->compress_debug & COMPRESS_DEBUG) != COMPRESS_DEBUG_NONE) {\n      local_34 = local_3c->output_bfd;\n      uVar20 = (uint)*(char **)&local_34->field_0x28 >> 5 & 0xfffff;\n      uVar19 = uVar20 | 0x24000;\n      if (local_3c->compress_debug != COMPRESS_DEBUG_GABI_ZLIB) {\n        uVar19 = uVar20 | 0x4000;\n      }\n      *(char **)&local_34->field_0x28 =\n           (char *)(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f);\n    }" if (parenthesized_expression "((local_3c->compress_debug & COMPRESS_DEBUG) != COMPRESS_DEBUG_NONE)" ( (binary_expression "(local_3c->compress_debug & COMPRESS_DEBUG) != COMPRESS_DEBUG_NONE" (parenthesized_expression "(local_3c->compress_debug & COMPRESS_DEBUG)" ( (binary_expression "local_3c->compress_debug & COMPRESS_DEBUG" (field_expression "local_3c->compress_debug" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n      local_34 = local_3c->output_bfd;\n      uVar20 = (uint)*(char **)&local_34->field_0x28 >> 5 & 0xfffff;\n      uVar19 = uVar20 | 0x24000;\n      if (local_3c->compress_debug != COMPRESS_DEBUG_GABI_ZLIB) {\n        uVar19 = uVar20 | 0x4000;\n      }\n      *(char **)&local_34->field_0x28 =\n           (char *)(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f);\n    }" { (expression_statement "local_34 = local_3c->output_bfd;" (assignment_expression "local_34 = local_3c->output_bfd" identifier = (field_expression "local_3c->output_bfd" identifier -> field_identifier)) ;) (expression_statement "uVar20 = (uint)*(char **)&local_34->field_0x28 >> 5 & 0xfffff;" (assignment_expression "uVar20 = (uint)*(char **)&local_34->field_0x28 >> 5 & 0xfffff" identifier = (binary_expression "(uint)*(char **)&local_34->field_0x28 >> 5 & 0xfffff" (binary_expression "(uint)*(char **)&local_34->field_0x28 >> 5" (binary_expression "(uint)*(char **)&local_34->field_0x28" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char **)&local_34->field_0x28" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_34->field_0x28" & (field_expression "local_34->field_0x28" identifier -> field_identifier)))) >> number_literal) & number_literal)) ;) (expression_statement "uVar19 = uVar20 | 0x24000;" (assignment_expression "uVar19 = uVar20 | 0x24000" identifier = (binary_expression "uVar20 | 0x24000" identifier | number_literal)) ;) (if_statement "if (local_3c->compress_debug != COMPRESS_DEBUG_GABI_ZLIB) {\n        uVar19 = uVar20 | 0x4000;\n      }" if (parenthesized_expression "(local_3c->compress_debug != COMPRESS_DEBUG_GABI_ZLIB)" ( (binary_expression "local_3c->compress_debug != COMPRESS_DEBUG_GABI_ZLIB" (field_expression "local_3c->compress_debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        uVar19 = uVar20 | 0x4000;\n      }" { (expression_statement "uVar19 = uVar20 | 0x4000;" (assignment_expression "uVar19 = uVar20 | 0x4000" identifier = (binary_expression "uVar20 | 0x4000" identifier | number_literal)) ;) })) (expression_statement "*(char **)&local_34->field_0x28 =\n           (char *)(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f);" (assignment_expression "*(char **)&local_34->field_0x28 =\n           (char *)(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f)" (pointer_expression "*(char **)&local_34->field_0x28" * (cast_expression "(char **)&local_34->field_0x28" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_34->field_0x28" & (field_expression "local_34->field_0x28" identifier -> field_identifier)))) = (cast_expression "(char *)(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f)" ( (binary_expression "uVar19 << 5 | (uint)*(char **)&local_34->field_0x28 & 0xfe00001f" (binary_expression "uVar19 << 5" identifier << number_literal) | (binary_expression "(uint)*(char **)&local_34->field_0x28 & 0xfe00001f" (binary_expression "(uint)*(char **)&local_34->field_0x28" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char **)&local_34->field_0x28" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_34->field_0x28" & (field_expression "local_34->field_0x28" identifier -> field_identifier)))) & number_literal)) )))) ;) })) (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x175dd;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x175dd" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ldwrite();" (call_expression "ldwrite()" identifier (argument_list "()" ( ))) ;) (expression_statement "plVar4 = local_4c;" (assignment_expression "plVar4 = local_4c" identifier = identifier) ;) (if_statement "if (local_4c->map_file == (FILE *)0x0) {\n      if (local_44->cref != 0) {\nLAB_00017a0f:\n        pFVar10 = *(FILE **)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -4) = 0x175ef;\n      lang_map();\n      if (local_44->cref != 0) {\n        pFVar10 = plVar4->map_file;\n        if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;\nLAB_00017603:\n        *(FILE **)(puVar21 + -0x10) = pFVar10;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1760c;\n        output_cref(*(FILE **)(puVar21 + -0x10));\n      }\n    }" if (parenthesized_expression "(local_4c->map_file == (FILE *)0x0)" ( (binary_expression "local_4c->map_file == (FILE *)0x0" (field_expression "local_4c->map_file" identifier -> field_identifier) == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (local_44->cref != 0) {\nLAB_00017a0f:\n        pFVar10 = *(FILE **)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }" { (if_statement "if (local_44->cref != 0) {\nLAB_00017a0f:\n        pFVar10 = *(FILE **)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }" if (parenthesized_expression "(local_44->cref != 0)" ( (binary_expression "local_44->cref != 0" (field_expression "local_44->cref" identifier -> field_identifier) != number_literal) )) (compound_statement "{\nLAB_00017a0f:\n        pFVar10 = *(FILE **)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }" { (labeled_statement "LAB_00017a0f:\n        pFVar10 = *(FILE **)PTR_stdout_001c1fdc;" statement_identifier : (expression_statement "pFVar10 = *(FILE **)PTR_stdout_001c1fdc;" (assignment_expression "pFVar10 = *(FILE **)PTR_stdout_001c1fdc" identifier = (pointer_expression "*(FILE **)PTR_stdout_001c1fdc" * (cast_expression "(FILE **)PTR_stdout_001c1fdc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;)) (goto_statement "goto LAB_00017603;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(undefined4 *)(puVar21 + -4) = 0x175ef;\n      lang_map();\n      if (local_44->cref != 0) {\n        pFVar10 = plVar4->map_file;\n        if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;\nLAB_00017603:\n        *(FILE **)(puVar21 + -0x10) = pFVar10;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1760c;\n        output_cref(*(FILE **)(puVar21 + -0x10));\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(puVar21 + -4) = 0x175ef;\n      lang_map();\n      if (local_44->cref != 0) {\n        pFVar10 = plVar4->map_file;\n        if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;\nLAB_00017603:\n        *(FILE **)(puVar21 + -0x10) = pFVar10;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1760c;\n        output_cref(*(FILE **)(puVar21 + -0x10));\n      }\n    }" { (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x175ef;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x175ef" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lang_map();" (call_expression "lang_map()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_44->cref != 0) {\n        pFVar10 = plVar4->map_file;\n        if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;\nLAB_00017603:\n        *(FILE **)(puVar21 + -0x10) = pFVar10;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1760c;\n        output_cref(*(FILE **)(puVar21 + -0x10));\n      }" if (parenthesized_expression "(local_44->cref != 0)" ( (binary_expression "local_44->cref != 0" (field_expression "local_44->cref" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n        pFVar10 = plVar4->map_file;\n        if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;\nLAB_00017603:\n        *(FILE **)(puVar21 + -0x10) = pFVar10;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1760c;\n        output_cref(*(FILE **)(puVar21 + -0x10));\n      }" { (expression_statement "pFVar10 = plVar4->map_file;" (assignment_expression "pFVar10 = plVar4->map_file" identifier = (field_expression "plVar4->map_file" identifier -> field_identifier)) ;) (if_statement "if (pFVar10 == (FILE *)0x0) goto LAB_00017a0f;" if (parenthesized_expression "(pFVar10 == (FILE *)0x0)" ( (binary_expression "pFVar10 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017a0f;" goto statement_identifier ;)) (labeled_statement "LAB_00017603:\n        *(FILE **)(puVar21 + -0x10) = pFVar10;" statement_identifier : (expression_statement "*(FILE **)(puVar21 + -0x10) = pFVar10;" (assignment_expression "*(FILE **)(puVar21 + -0x10) = pFVar10" (pointer_expression "*(FILE **)(puVar21 + -0x10)" * (cast_expression "(FILE **)(puVar21 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1760c;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1760c" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "output_cref(*(FILE **)(puVar21 + -0x10));" (call_expression "output_cref(*(FILE **)(puVar21 + -0x10))" identifier (argument_list "(*(FILE **)(puVar21 + -0x10))" ( (pointer_expression "*(FILE **)(puVar21 + -0x10)" * (cast_expression "(FILE **)(puVar21 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) }))) (if_statement "if (nocrossref_list != (lang_nocrossrefs *)0x0) {\n      *(undefined4 *)(puVar21 + -4) = 0x1761f;\n      check_nocrossrefs();\n    }" if (parenthesized_expression "(nocrossref_list != (lang_nocrossrefs *)0x0)" ( (binary_expression "nocrossref_list != (lang_nocrossrefs *)0x0" identifier != (cast_expression "(lang_nocrossrefs *)0x0" ( (type_descriptor "lang_nocrossrefs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(puVar21 + -4) = 0x1761f;\n      check_nocrossrefs();\n    }" { (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x1761f;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x1761f" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "check_nocrossrefs();" (call_expression "check_nocrossrefs()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_44->print_memory_usage != 0) {\n      *(undefined4 *)(puVar21 + -4) = 0x17a21;\n      lang_print_memory_usage();\n    }" if (parenthesized_expression "(local_44->print_memory_usage != 0)" ( (binary_expression "local_44->print_memory_usage != 0" (field_expression "local_44->print_memory_usage" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar21 + -4) = 0x17a21;\n      lang_print_memory_usage();\n    }" { (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x17a21;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x17a21" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lang_print_memory_usage();" (call_expression "lang_print_memory_usage()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x17631;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x17631" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ldexp_finish();" (call_expression "ldexp_finish()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x17636;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x17636" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lang_finish();" (call_expression "lang_finish()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar7 = output_filename;" (assignment_expression "pcVar7 = output_filename" identifier = identifier) ;) (if_statement "if (local_4c->make_executable != 0 || force_make_executable != 0) {\n      *(bfd **)(puVar21 + -0x10) = local_3c->output_bfd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176cb;\n      iVar18 = bfd_close();\n      if (iVar18 == 0) {\n        pbVar8 = local_3c->output_bfd;\n        *(bfd_link_info **)(puVar21 + -4) = local_3c;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b1d;\n        uVar9 = dcgettext();\n        *(bfd **)(puVar21 + -0xc) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b26;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n      if (((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2) && (local_44->force_exe_suffix != 0)) {\n        uVar19 = 0xffffffff;\n        pcVar7 = output_filename;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar5 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;\n        } while (cVar5 != '\0');\n        uVar19 = ~uVar19;\n        if (uVar19 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17755;\n          uVar9 = xmalloc();\n          *(uint *)(puVar21 + -0x10) = uVar19 + 4;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;\n          pbVar11 = (bfd_link_info *)xmalloc();\n          pcVar7 = output_filename;\n          local_3c = pbVar11;\n          *(char **)(puVar21 + -0xc) = output_filename;\n          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17771;\n          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          builtin_strncpy(pcVar12,".exe",5);\n          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;\n          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          local_34 = pbVar8;\n          *(char **)(puVar21 + -0xc) = "w";\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;\n          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }\n          *(bfd **)(puVar21 + -0x10) = local_34;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar21 + -0x10));\n          *(bfd **)(puVar21 + -0x10) = local_38;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17807;\n          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));\n          if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;\n          free(*(void **)(puVar21 + -0x10));\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17826;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        else {\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c->stats != 0) {\n        *(undefined4 *)(puVar21 + -4) = 0x17aa6;\n        lVar16 = get_run_time();\n        local_34 = (bfd *)(lVar16 - local_5c);\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar21 + -0x10));\n        pcVar7 = *local_60;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ad9;\n        uVar9 = dcgettext();\n        puVar3 = PTR_stderr_001c1fa8;\n        iVar18 = (int)local_34 / 1000000;\n        *(int *)(puVar21 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar21 + -0x14) = iVar18;\n        *(char **)(puVar21 + -0x18) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x1c) = uVar9;\n        *(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar21 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c));\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar21 + -0x10));\n      }\n      output_filename = (char *)0x0;\nLAB_000172f3:\n      puVar22 = puVar21 + -0x10;\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x172fd;\n      pbVar8 = (bfd *)xexit();\n      do {\n        if ((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)) {\n          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);\n          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);\n        }\n        else {\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }\nLAB_00017328:\n        do {\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        } while ((!bVar28 && !bVar29) != bVar28);\n        bVar28 = false;\n        bVar29 = pbVar2[2] == 0;\n      } while (bVar29);\n      iVar18 = 7;\n      pbVar24 = pbVar2;\n      pbVar26 = local_58;\n      do {\n        pbVar23 = pbVar24;\n        pbVar25 = pbVar26;\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1;\n        pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar23;\n        pbVar26 = pbVar25;\n      } while (bVar29);\n      cVar5 = (!bVar28 && !bVar29) - bVar28;\n      uVar9 = CONCAT31((int3)((uint)pbVar8 >> 8),cVar5);\n      if (cVar5 != '\0') {\n        *(undefined4 *)(puVar22 + -4) = uVar9;\n        *(undefined4 *)(puVar22 + -8) = uVar9;\n        *(char **)(puVar22 + -0xc) = local_64;\n        *(byte **)(puVar22 + -0x10) = pbVar2;\n        local_68 = pbVar2;\n        *(undefined4 *)(puVar22 + -0x14) = 0x1737f;\n        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n        pbVar2 = local_68;\n        if (iVar18 != 0) {\n          *(byte **)(puVar22 + -4) = pbVar25;\n          *(byte **)(puVar22 + -8) = pbVar25;\n          *(char **)(puVar22 + -0xc) = "-mips3";\n          *(byte **)(puVar22 + -0x10) = pbVar2;\n          *(undefined4 *)(puVar22 + -0x14) = 0x17398;\n          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n          pbVar2 = local_68;\n          if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }" if (parenthesized_expression "(local_4c->make_executable != 0 || force_make_executable != 0)" ( (binary_expression "local_4c->make_executable != 0 || force_make_executable != 0" (binary_expression "local_4c->make_executable != 0" (field_expression "local_4c->make_executable" identifier -> field_identifier) != number_literal) || (binary_expression "force_make_executable != 0" identifier != number_literal)) )) (compound_statement "{\n      *(bfd **)(puVar21 + -0x10) = local_3c->output_bfd;\n      *(undefined4 *)(puVar21 + -0x14) = 0x176cb;\n      iVar18 = bfd_close();\n      if (iVar18 == 0) {\n        pbVar8 = local_3c->output_bfd;\n        *(bfd_link_info **)(puVar21 + -4) = local_3c;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b1d;\n        uVar9 = dcgettext();\n        *(bfd **)(puVar21 + -0xc) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b26;\n        einfo(*(char **)(puVar21 + -0x10));\n      }\n      if (((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2) && (local_44->force_exe_suffix != 0)) {\n        uVar19 = 0xffffffff;\n        pcVar7 = output_filename;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar5 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;\n        } while (cVar5 != '\0');\n        uVar19 = ~uVar19;\n        if (uVar19 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17755;\n          uVar9 = xmalloc();\n          *(uint *)(puVar21 + -0x10) = uVar19 + 4;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;\n          pbVar11 = (bfd_link_info *)xmalloc();\n          pcVar7 = output_filename;\n          local_3c = pbVar11;\n          *(char **)(puVar21 + -0xc) = output_filename;\n          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17771;\n          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          builtin_strncpy(pcVar12,".exe",5);\n          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;\n          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          local_34 = pbVar8;\n          *(char **)(puVar21 + -0xc) = "w";\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;\n          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }\n          *(bfd **)(puVar21 + -0x10) = local_34;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar21 + -0x10));\n          *(bfd **)(puVar21 + -0x10) = local_38;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17807;\n          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));\n          if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;\n          free(*(void **)(puVar21 + -0x10));\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17826;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        else {\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c->stats != 0) {\n        *(undefined4 *)(puVar21 + -4) = 0x17aa6;\n        lVar16 = get_run_time();\n        local_34 = (bfd *)(lVar16 - local_5c);\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar21 + -0x10));\n        pcVar7 = *local_60;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ad9;\n        uVar9 = dcgettext();\n        puVar3 = PTR_stderr_001c1fa8;\n        iVar18 = (int)local_34 / 1000000;\n        *(int *)(puVar21 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar21 + -0x14) = iVar18;\n        *(char **)(puVar21 + -0x18) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x1c) = uVar9;\n        *(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar21 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c));\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar21 + -0x10));\n      }\n      output_filename = (char *)0x0;\nLAB_000172f3:\n      puVar22 = puVar21 + -0x10;\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x172fd;\n      pbVar8 = (bfd *)xexit();\n      do {\n        if ((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)) {\n          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);\n          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);\n        }\n        else {\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }\nLAB_00017328:\n        do {\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        } while ((!bVar28 && !bVar29) != bVar28);\n        bVar28 = false;\n        bVar29 = pbVar2[2] == 0;\n      } while (bVar29);\n      iVar18 = 7;\n      pbVar24 = pbVar2;\n      pbVar26 = local_58;\n      do {\n        pbVar23 = pbVar24;\n        pbVar25 = pbVar26;\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1;\n        pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar23;\n        pbVar26 = pbVar25;\n      } while (bVar29);\n      cVar5 = (!bVar28 && !bVar29) - bVar28;\n      uVar9 = CONCAT31((int3)((uint)pbVar8 >> 8),cVar5);\n      if (cVar5 != '\0') {\n        *(undefined4 *)(puVar22 + -4) = uVar9;\n        *(undefined4 *)(puVar22 + -8) = uVar9;\n        *(char **)(puVar22 + -0xc) = local_64;\n        *(byte **)(puVar22 + -0x10) = pbVar2;\n        local_68 = pbVar2;\n        *(undefined4 *)(puVar22 + -0x14) = 0x1737f;\n        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n        pbVar2 = local_68;\n        if (iVar18 != 0) {\n          *(byte **)(puVar22 + -4) = pbVar25;\n          *(byte **)(puVar22 + -8) = pbVar25;\n          *(char **)(puVar22 + -0xc) = "-mips3";\n          *(byte **)(puVar22 + -0x10) = pbVar2;\n          *(undefined4 *)(puVar22 + -0x14) = 0x17398;\n          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n          pbVar2 = local_68;\n          if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }" { (expression_statement "*(bfd **)(puVar21 + -0x10) = local_3c->output_bfd;" (assignment_expression "*(bfd **)(puVar21 + -0x10) = local_3c->output_bfd" (pointer_expression "*(bfd **)(puVar21 + -0x10)" * (cast_expression "(bfd **)(puVar21 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (field_expression "local_3c->output_bfd" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x176cb;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x176cb" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = bfd_close();" (assignment_expression "iVar18 = bfd_close()" identifier = (call_expression "bfd_close()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar18 == 0) {\n        pbVar8 = local_3c->output_bfd;\n        *(bfd_link_info **)(puVar21 + -4) = local_3c;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b1d;\n        uVar9 = dcgettext();\n        *(bfd **)(puVar21 + -0xc) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b26;\n        einfo(*(char **)(puVar21 + -0x10));\n      }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n        pbVar8 = local_3c->output_bfd;\n        *(bfd_link_info **)(puVar21 + -4) = local_3c;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b1d;\n        uVar9 = dcgettext();\n        *(bfd **)(puVar21 + -0xc) = pbVar8;\n        *(undefined4 *)(puVar21 + -0x10) = uVar9;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17b26;\n        einfo(*(char **)(puVar21 + -0x10));\n      }" { (expression_statement "pbVar8 = local_3c->output_bfd;" (assignment_expression "pbVar8 = local_3c->output_bfd" identifier = (field_expression "local_3c->output_bfd" identifier -> field_identifier)) ;) (expression_statement "*(bfd_link_info **)(puVar21 + -4) = local_3c;" (assignment_expression "*(bfd_link_info **)(puVar21 + -4) = local_3c" (pointer_expression "*(bfd_link_info **)(puVar21 + -4)" * (cast_expression "(bfd_link_info **)(puVar21 + -4)" ( (type_descriptor "bfd_link_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n";" (assignment_expression "*(char **)(puVar21 + -0xc) = "%F%P: %pB: final close failed: %E\n"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: %pB: final close failed: %E\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17b1d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17b1d" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(bfd **)(puVar21 + -0xc) = pbVar8;" (assignment_expression "*(bfd **)(puVar21 + -0xc) = pbVar8" (pointer_expression "*(bfd **)(puVar21 + -0xc)" * (cast_expression "(bfd **)(puVar21 + -0xc)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17b26;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17b26" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "einfo(*(char **)(puVar21 + -0x10));" (call_expression "einfo(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if (((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2) && (local_44->force_exe_suffix != 0)) {\n        uVar19 = 0xffffffff;\n        pcVar7 = output_filename;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar5 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;\n        } while (cVar5 != '\0');\n        uVar19 = ~uVar19;\n        if (uVar19 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17755;\n          uVar9 = xmalloc();\n          *(uint *)(puVar21 + -0x10) = uVar19 + 4;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;\n          pbVar11 = (bfd_link_info *)xmalloc();\n          pcVar7 = output_filename;\n          local_3c = pbVar11;\n          *(char **)(puVar21 + -0xc) = output_filename;\n          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17771;\n          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          builtin_strncpy(pcVar12,".exe",5);\n          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;\n          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          local_34 = pbVar8;\n          *(char **)(puVar21 + -0xc) = "w";\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;\n          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }\n          *(bfd **)(puVar21 + -0x10) = local_34;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar21 + -0x10));\n          *(bfd **)(puVar21 + -0x10) = local_38;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17807;\n          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));\n          if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;\n          free(*(void **)(puVar21 + -0x10));\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17826;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        else {\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }\n      }" if (parenthesized_expression "(((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2) && (local_44->force_exe_suffix != 0))" ( (binary_expression "((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2) && (local_44->force_exe_suffix != 0)" (parenthesized_expression "((undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2)" ( (binary_expression "(undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3) !=\n           (undefined1  [156])0x2" (call_expression "(undefined1  [156])((undefined1  [156])*local_3c & (undefined1  [156])0x3)" (parenthesized_expression "(undefined1  [156])" ( (subscript_expression "undefined1  [156]" identifier [ number_literal ]) )) (argument_list "((undefined1  [156])*local_3c & (undefined1  [156])0x3)" ( (binary_expression "(undefined1  [156])*local_3c & (undefined1  [156])0x3" (binary_expression "(undefined1  [156])*local_3c" (parenthesized_expression "(undefined1  [156])" ( (subscript_expression "undefined1  [156]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [156])0x3" ( (type_descriptor "undefined1  [156]" type_identifier (abstract_array_declarator "[156]" [ number_literal ])) ) number_literal)) ))) != (cast_expression "(undefined1  [156])0x2" ( (type_descriptor "undefined1  [156]" type_identifier (abstract_array_declarator "[156]" [ number_literal ])) ) number_literal)) )) && (parenthesized_expression "(local_44->force_exe_suffix != 0)" ( (binary_expression "local_44->force_exe_suffix != 0" (field_expression "local_44->force_exe_suffix" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n        uVar19 = 0xffffffff;\n        pcVar7 = output_filename;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar5 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;\n        } while (cVar5 != '\0');\n        uVar19 = ~uVar19;\n        if (uVar19 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17755;\n          uVar9 = xmalloc();\n          *(uint *)(puVar21 + -0x10) = uVar19 + 4;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;\n          pbVar11 = (bfd_link_info *)xmalloc();\n          pcVar7 = output_filename;\n          local_3c = pbVar11;\n          *(char **)(puVar21 + -0xc) = output_filename;\n          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17771;\n          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          builtin_strncpy(pcVar12,".exe",5);\n          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;\n          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          local_34 = pbVar8;\n          *(char **)(puVar21 + -0xc) = "w";\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;\n          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }\n          *(bfd **)(puVar21 + -0x10) = local_34;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar21 + -0x10));\n          *(bfd **)(puVar21 + -0x10) = local_38;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17807;\n          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));\n          if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;\n          free(*(void **)(puVar21 + -0x10));\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17826;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        else {\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }\n      }" { (expression_statement "uVar19 = 0xffffffff;" (assignment_expression "uVar19 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar7 = output_filename;" (assignment_expression "pcVar7 = output_filename" identifier = identifier) ;) (do_statement "do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar5 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;\n        } while (cVar5 != '\0');" do (compound_statement "{\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar5 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;\n        }" { (if_statement "if (uVar19 == 0) break;" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar19 = uVar19 - 1;" (assignment_expression "uVar19 = uVar19 - 1" identifier = (binary_expression "uVar19 - 1" identifier - number_literal)) ;) (expression_statement "cVar5 = *pcVar7;" (assignment_expression "cVar5 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (expression_statement "pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1;" (assignment_expression "pcVar7 = pcVar7 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pcVar7 + (uint)bVar30 * -2 + 1" (binary_expression "pcVar7 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "uVar19 = ~uVar19;" (assignment_expression "uVar19 = ~uVar19" identifier = (unary_expression "~uVar19" ~ identifier)) ;) (if_statement "if (uVar19 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17755;\n          uVar9 = xmalloc();\n          *(uint *)(puVar21 + -0x10) = uVar19 + 4;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;\n          pbVar11 = (bfd_link_info *)xmalloc();\n          pcVar7 = output_filename;\n          local_3c = pbVar11;\n          *(char **)(puVar21 + -0xc) = output_filename;\n          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17771;\n          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          builtin_strncpy(pcVar12,".exe",5);\n          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;\n          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          local_34 = pbVar8;\n          *(char **)(puVar21 + -0xc) = "w";\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;\n          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }\n          *(bfd **)(puVar21 + -0x10) = local_34;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar21 + -0x10));\n          *(bfd **)(puVar21 + -0x10) = local_38;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17807;\n          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));\n          if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;\n          free(*(void **)(puVar21 + -0x10));\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17826;\n          free(*(void **)(puVar21 + -0x10));\n        }\n        else {\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }" if (parenthesized_expression "(uVar19 - 1 < 4)" ( (binary_expression "uVar19 - 1 < 4" (binary_expression "uVar19 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\nLAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17755;\n          uVar9 = xmalloc();\n          *(uint *)(puVar21 + -0x10) = uVar19 + 4;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1775f;\n          pbVar11 = (bfd_link_info *)xmalloc();\n          pcVar7 = output_filename;\n          local_3c = pbVar11;\n          *(char **)(puVar21 + -0xc) = output_filename;\n          *(bfd_link_info **)(puVar21 + -0x10) = pbVar11;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17771;\n          pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          builtin_strncpy(pcVar12,".exe",5);\n          *(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1778a;\n          pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          local_34 = pbVar8;\n          *(char **)(puVar21 + -0xc) = "w";\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177a0;\n          local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }\n          *(bfd **)(puVar21 + -0x10) = local_34;\n          *(undefined4 *)(puVar21 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar21 + -0x10));\n          *(bfd **)(puVar21 + -0x10) = local_38;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17807;\n          iVar18 = fclose(*(FILE **)(puVar21 + -0x10));\n          if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }\n          *(bfd_link_info **)(puVar21 + -0x10) = local_3c;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1781e;\n          free(*(void **)(puVar21 + -0x10));\n          *(undefined4 *)(puVar21 + -0x10) = uVar9;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17826;\n          free(*(void **)(puVar21 + -0x10));\n        }" { (labeled_statement "LAB_00017745:\n          *(undefined4 *)(puVar21 + -0x10) = 0x1000;" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0x1000;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0x1000" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17755;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17755" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = xmalloc();" (assignment_expression "uVar9 = xmalloc()" identifier = (call_expression "xmalloc()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar21 + -0x10) = uVar19 + 4;" (assignment_expression "*(uint *)(puVar21 + -0x10) = uVar19 + 4" (pointer_expression "*(uint *)(puVar21 + -0x10)" * (cast_expression "(uint *)(puVar21 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (binary_expression "uVar19 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1775f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1775f" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar11 = (bfd_link_info *)xmalloc();" (assignment_expression "pbVar11 = (bfd_link_info *)xmalloc()" identifier = (cast_expression "(bfd_link_info *)xmalloc()" ( (type_descriptor "bfd_link_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar7 = output_filename;" (assignment_expression "pcVar7 = output_filename" identifier = identifier) ;) (expression_statement "local_3c = pbVar11;" (assignment_expression "local_3c = pbVar11" identifier = identifier) ;) (expression_statement "*(char **)(puVar21 + -0xc) = output_filename;" (assignment_expression "*(char **)(puVar21 + -0xc) = output_filename" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(bfd_link_info **)(puVar21 + -0x10) = pbVar11;" (assignment_expression "*(bfd_link_info **)(puVar21 + -0x10) = pbVar11" (pointer_expression "*(bfd_link_info **)(puVar21 + -0x10)" * (cast_expression "(bfd_link_info **)(puVar21 + -0x10)" ( (type_descriptor "bfd_link_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17771;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17771" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));" (assignment_expression "pcVar12 = stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier = (call_expression "stpcpy(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier (argument_list "(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "builtin_strncpy(pcVar12,".exe",5);" (call_expression "builtin_strncpy(pcVar12,".exe",5)" identifier (argument_list "(pcVar12,".exe",5)" ( identifier , (string_literal "".exe"" " string_content ") , number_literal ))) ;) (expression_statement "*(undefined **)(puVar21 + -0xc) = &DAT_0007dadc;" (assignment_expression "*(undefined **)(puVar21 + -0xc) = &DAT_0007dadc" (pointer_expression "*(undefined **)(puVar21 + -0xc)" * (cast_expression "(undefined **)(puVar21 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007dadc" & identifier)) ;) (expression_statement "*(char **)(puVar21 + -0x10) = pcVar7;" (assignment_expression "*(char **)(puVar21 + -0x10) = pcVar7" (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1778a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1778a" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));" (assignment_expression "pbVar8 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier = (cast_expression "(bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier (argument_list "(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) ))))) ;) (expression_statement "local_34 = pbVar8;" (assignment_expression "local_34 = pbVar8" identifier = identifier) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "w";" (assignment_expression "*(char **)(puVar21 + -0xc) = "w"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""w"" " string_content ")) ;) (expression_statement "*(bfd_link_info **)(puVar21 + -0x10) = local_3c;" (assignment_expression "*(bfd_link_info **)(puVar21 + -0x10) = local_3c" (pointer_expression "*(bfd_link_info **)(puVar21 + -0x10)" * (cast_expression "(bfd_link_info **)(puVar21 + -0x10)" ( (type_descriptor "bfd_link_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x177a0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x177a0" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));" (assignment_expression "local_38 = (bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier = (cast_expression "(bfd *)fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "fopen64(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier (argument_list "(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) ))))) ;) (if_statement "if (pbVar8 == (bfd *)0x0) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }" if (parenthesized_expression "(pbVar8 == (bfd *)0x0)" ( (binary_expression "pbVar8 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            local_40 = output_filename;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bef;\n            uVar17 = dcgettext();\n            *(char **)(puVar21 + -0xc) = local_40;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bfb;\n            einfo(*(char **)(puVar21 + -0x10));\n          }" { (expression_statement "*(undefined4 *)(puVar21 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";" (assignment_expression "*(char **)(puVar21 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: unable to open for source of copy `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_40 = output_filename;" (assignment_expression "local_40 = output_filename" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17bef;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17bef" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = dcgettext();" (assignment_expression "uVar17 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)(puVar21 + -0xc) = local_40;" (assignment_expression "*(char **)(puVar21 + -0xc) = local_40" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar17;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar17" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17bfb;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17bfb" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "einfo(*(char **)(puVar21 + -0x10));" (call_expression "einfo(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) (if_statement "if (local_38 == (bfd *)0x0) {\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }" if (parenthesized_expression "(local_38 == (bfd *)0x0)" ( (binary_expression "local_38 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(bfd **)(puVar21 + -4) = pbVar8;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bc2;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17bcd;\n            einfo(*(char **)(puVar21 + -0x10));\n          }" { (expression_statement "*(bfd **)(puVar21 + -4) = pbVar8;" (assignment_expression "*(bfd **)(puVar21 + -4) = pbVar8" (pointer_expression "*(bfd **)(puVar21 + -4)" * (cast_expression "(bfd **)(puVar21 + -4)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";" (assignment_expression "*(char **)(puVar21 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: unable to open for destination of copy `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17bc2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17bc2" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = dcgettext();" (assignment_expression "uVar17 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(bfd_link_info **)(puVar21 + -0xc) = local_3c;" (assignment_expression "*(bfd_link_info **)(puVar21 + -0xc) = local_3c" (pointer_expression "*(bfd_link_info **)(puVar21 + -0xc)" * (cast_expression "(bfd_link_info **)(puVar21 + -0xc)" ( (type_descriptor "bfd_link_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar17;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar17" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17bcd;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17bcd" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "einfo(*(char **)(puVar21 + -0x10));" (call_expression "einfo(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "local_40 = "%P: error writing file `%s\'\n";" (assignment_expression "local_40 = "%P: error writing file `%s\'\n"" identifier = (string_literal ""%P: error writing file `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (while_statement "while( true ) {\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            *(bfd **)(puVar21 + -4) = local_34;\n            *(undefined4 *)(puVar21 + -8) = 0x1000;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177ea;\n            sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if ((int)sVar6 < 1) break;\n            *(bfd **)(puVar21 + -4) = local_38;\n            *(size_t *)(puVar21 + -8) = sVar6;\n            *(undefined4 *)(puVar21 + -0xc) = 1;\n            *(undefined4 *)(puVar21 + -0x10) = uVar9;\n            *(undefined4 *)(puVar21 + -0x14) = 0x177cf;\n            sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));\n            if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }\n          }" { (expression_statement "*(bfd **)(puVar21 + -4) = local_34;" (assignment_expression "*(bfd **)(puVar21 + -4) = local_34" (pointer_expression "*(bfd **)(puVar21 + -4)" * (cast_expression "(bfd **)(puVar21 + -4)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0x1000;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0x1000" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0xc)" * (cast_expression "(undefined4 *)(puVar21 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x177ea;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x177ea" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));" (assignment_expression "sVar6 = fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4))" identifier = (call_expression "fread(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4))" identifier (argument_list "(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                          *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4))" ( (pointer_expression "*(void **)(puVar21 + -0x10)" * (cast_expression "(void **)(puVar21 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar21 + -0xc)" * (cast_expression "(size_t *)(puVar21 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar21 + -8)" * (cast_expression "(size_t *)(puVar21 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar21 + -4)" * (cast_expression "(FILE **)(puVar21 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if ((int)sVar6 < 1) break;" if (parenthesized_expression "((int)sVar6 < 1)" ( (binary_expression "(int)sVar6 < 1" (cast_expression "(int)sVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(bfd **)(puVar21 + -4) = local_38;" (assignment_expression "*(bfd **)(puVar21 + -4) = local_38" (pointer_expression "*(bfd **)(puVar21 + -4)" * (cast_expression "(bfd **)(puVar21 + -4)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)(puVar21 + -8) = sVar6;" (assignment_expression "*(size_t *)(puVar21 + -8) = sVar6" (pointer_expression "*(size_t *)(puVar21 + -8)" * (cast_expression "(size_t *)(puVar21 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0xc)" * (cast_expression "(undefined4 *)(puVar21 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x177cf;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x177cf" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4));" (assignment_expression "sVar13 = fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4))" identifier = (call_expression "fwrite(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4))" identifier (argument_list "(*(void **)(puVar21 + -0x10),*(size_t *)(puVar21 + -0xc),\n                            *(size_t *)(puVar21 + -8),*(FILE **)(puVar21 + -4))" ( (pointer_expression "*(void **)(puVar21 + -0x10)" * (cast_expression "(void **)(puVar21 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar21 + -0xc)" * (cast_expression "(size_t *)(puVar21 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar21 + -8)" * (cast_expression "(size_t *)(puVar21 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar21 + -4)" * (cast_expression "(FILE **)(puVar21 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar6 != sVar13) {\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }" if (parenthesized_expression "(sVar6 != sVar13)" ( (binary_expression "sVar6 != sVar13" identifier != identifier) )) (compound_statement "{\n              *(size_t *)(puVar21 + -4) = sVar13;\n              *(undefined4 *)(puVar21 + -8) = 5;\n              *(char **)(puVar21 + -0xc) = local_40;\n              *(undefined4 *)(puVar21 + -0x10) = 0;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b7a;\n              uVar17 = dcgettext();\n              *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n              *(undefined4 *)(puVar21 + -0x10) = uVar17;\n              *(undefined4 *)(puVar21 + -0x14) = 0x17b85;\n              einfo(*(char **)(puVar21 + -0x10));\n            }" { (expression_statement "*(size_t *)(puVar21 + -4) = sVar13;" (assignment_expression "*(size_t *)(puVar21 + -4) = sVar13" (pointer_expression "*(size_t *)(puVar21 + -4)" * (cast_expression "(size_t *)(puVar21 + -4)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = local_40;" (assignment_expression "*(char **)(puVar21 + -0xc) = local_40" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17b7a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17b7a" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = dcgettext();" (assignment_expression "uVar17 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(bfd_link_info **)(puVar21 + -0xc) = local_3c;" (assignment_expression "*(bfd_link_info **)(puVar21 + -0xc) = local_3c" (pointer_expression "*(bfd_link_info **)(puVar21 + -0xc)" * (cast_expression "(bfd_link_info **)(puVar21 + -0xc)" ( (type_descriptor "bfd_link_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar17;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar17" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17b85;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17b85" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "einfo(*(char **)(puVar21 + -0x10));" (call_expression "einfo(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) })) (expression_statement "*(bfd **)(puVar21 + -0x10) = local_34;" (assignment_expression "*(bfd **)(puVar21 + -0x10) = local_34" (pointer_expression "*(bfd **)(puVar21 + -0x10)" * (cast_expression "(bfd **)(puVar21 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x177fe;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x177fe" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fclose(*(FILE **)(puVar21 + -0x10));" (call_expression "fclose(*(FILE **)(puVar21 + -0x10))" identifier (argument_list "(*(FILE **)(puVar21 + -0x10))" ( (pointer_expression "*(FILE **)(puVar21 + -0x10)" * (cast_expression "(FILE **)(puVar21 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(bfd **)(puVar21 + -0x10) = local_38;" (assignment_expression "*(bfd **)(puVar21 + -0x10) = local_38" (pointer_expression "*(bfd **)(puVar21 + -0x10)" * (cast_expression "(bfd **)(puVar21 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17807;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17807" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = fclose(*(FILE **)(puVar21 + -0x10));" (assignment_expression "iVar18 = fclose(*(FILE **)(puVar21 + -0x10))" identifier = (call_expression "fclose(*(FILE **)(puVar21 + -0x10))" identifier (argument_list "(*(FILE **)(puVar21 + -0x10))" ( (pointer_expression "*(FILE **)(puVar21 + -0x10)" * (cast_expression "(FILE **)(puVar21 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar18 == -1) {\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }" if (parenthesized_expression "(iVar18 == -1)" ( (binary_expression "iVar18 == -1" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar21 + -4) = 0;\n            *(undefined4 *)(puVar21 + -8) = 5;\n            *(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar21 + -0x10) = 0;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17b9e;\n            uVar17 = dcgettext();\n            *(bfd_link_info **)(puVar21 + -0xc) = local_3c;\n            *(undefined4 *)(puVar21 + -0x10) = uVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x17ba9;\n            einfo(*(char **)(puVar21 + -0x10));\n          }" { (expression_statement "*(undefined4 *)(puVar21 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n";" (assignment_expression "*(char **)(puVar21 + -0xc) = "%P: error closing file `%s\'\n"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""%P: error closing file `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17b9e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17b9e" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = dcgettext();" (assignment_expression "uVar17 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(bfd_link_info **)(puVar21 + -0xc) = local_3c;" (assignment_expression "*(bfd_link_info **)(puVar21 + -0xc) = local_3c" (pointer_expression "*(bfd_link_info **)(puVar21 + -0xc)" * (cast_expression "(bfd_link_info **)(puVar21 + -0xc)" ( (type_descriptor "bfd_link_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar17;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar17" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17ba9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17ba9" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "einfo(*(char **)(puVar21 + -0x10));" (call_expression "einfo(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(bfd_link_info **)(puVar21 + -0x10) = local_3c;" (assignment_expression "*(bfd_link_info **)(puVar21 + -0x10) = local_3c" (pointer_expression "*(bfd_link_info **)(puVar21 + -0x10)" * (cast_expression "(bfd_link_info **)(puVar21 + -0x10)" ( (type_descriptor "bfd_link_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1781e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1781e" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar21 + -0x10));" (call_expression "free(*(void **)(puVar21 + -0x10))" identifier (argument_list "(*(void **)(puVar21 + -0x10))" ( (pointer_expression "*(void **)(puVar21 + -0x10)" * (cast_expression "(void **)(puVar21 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17826;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17826" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar21 + -0x10));" (call_expression "free(*(void **)(puVar21 + -0x10))" identifier (argument_list "(*(void **)(puVar21 + -0x10))" ( (pointer_expression "*(void **)(puVar21 + -0x10)" * (cast_expression "(void **)(puVar21 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }" else (compound_statement "{\n          pcVar7 = output_filename + (uVar19 - 5);\n          *(undefined4 *)(puVar21 + -4) = 0;\n          *(undefined4 *)(puVar21 + -8) = 0;\n          *(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;\n          *(char **)(puVar21 + -0x10) = pcVar7;\n          *(undefined4 *)(puVar21 + -0x14) = 0x17720;\n          iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n          if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }\n        }" { (expression_statement "pcVar7 = output_filename + (uVar19 - 5);" (assignment_expression "pcVar7 = output_filename + (uVar19 - 5)" identifier = (binary_expression "output_filename + (uVar19 - 5)" identifier + (parenthesized_expression "(uVar19 - 5)" ( (binary_expression "uVar19 - 5" identifier - number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar21 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar21 + -0xc) = &DAT_00080d7d;" (assignment_expression "*(undefined **)(puVar21 + -0xc) = &DAT_00080d7d" (pointer_expression "*(undefined **)(puVar21 + -0xc)" * (cast_expression "(undefined **)(puVar21 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_00080d7d" & identifier)) ;) (expression_statement "*(char **)(puVar21 + -0x10) = pcVar7;" (assignment_expression "*(char **)(puVar21 + -0x10) = pcVar7" (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17720;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17720" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));" (assignment_expression "iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier = (call_expression "strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier (argument_list "(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar18 != 0) {\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(puVar21 + -4) = iVar18;\n            *(int *)(puVar21 + -8) = iVar18;\n            *(undefined **)(puVar21 + -0xc) = &DAT_00080d82;\n            *(char **)(puVar21 + -0x10) = pcVar7;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1773a;\n            iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));\n            if (iVar18 != 0) goto LAB_00017745;\n          }" { (expression_statement "*(int *)(puVar21 + -4) = iVar18;" (assignment_expression "*(int *)(puVar21 + -4) = iVar18" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -8) = iVar18;" (assignment_expression "*(int *)(puVar21 + -8) = iVar18" (pointer_expression "*(int *)(puVar21 + -8)" * (cast_expression "(int *)(puVar21 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar21 + -0xc) = &DAT_00080d82;" (assignment_expression "*(undefined **)(puVar21 + -0xc) = &DAT_00080d82" (pointer_expression "*(undefined **)(puVar21 + -0xc)" * (cast_expression "(undefined **)(puVar21 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_00080d82" & identifier)) ;) (expression_statement "*(char **)(puVar21 + -0x10) = pcVar7;" (assignment_expression "*(char **)(puVar21 + -0x10) = pcVar7" (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1773a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1773a" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc));" (assignment_expression "iVar18 = strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier = (call_expression "strcasecmp(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" identifier (argument_list "(*(char **)(puVar21 + -0x10),*(char **)(puVar21 + -0xc))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar18 != 0) goto LAB_00017745;" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017745;" goto statement_identifier ;)) })) }))) })) (if_statement "if (local_4c->stats != 0) {\n        *(undefined4 *)(puVar21 + -4) = 0x17aa6;\n        lVar16 = get_run_time();\n        local_34 = (bfd *)(lVar16 - local_5c);\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar21 + -0x10));\n        pcVar7 = *local_60;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ad9;\n        uVar9 = dcgettext();\n        puVar3 = PTR_stderr_001c1fa8;\n        iVar18 = (int)local_34 / 1000000;\n        *(int *)(puVar21 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar21 + -0x14) = iVar18;\n        *(char **)(puVar21 + -0x18) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x1c) = uVar9;\n        *(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar21 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c));\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar21 + -0x10));\n      }" if (parenthesized_expression "(local_4c->stats != 0)" ( (binary_expression "local_4c->stats != 0" (field_expression "local_4c->stats" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar21 + -4) = 0x17aa6;\n        lVar16 = get_run_time();\n        local_34 = (bfd *)(lVar16 - local_5c);\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar21 + -0x10));\n        pcVar7 = *local_60;\n        *(undefined4 *)(puVar21 + -8) = 5;\n        *(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar21 + -0x10) = 0;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17ad9;\n        uVar9 = dcgettext();\n        puVar3 = PTR_stderr_001c1fa8;\n        iVar18 = (int)local_34 / 1000000;\n        *(int *)(puVar21 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar21 + -0x14) = iVar18;\n        *(char **)(puVar21 + -0x18) = pcVar7;\n        *(undefined4 *)(puVar21 + -0x1c) = uVar9;\n        *(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar21 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c));\n        *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3;\n        *(undefined4 *)(puVar21 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar21 + -0x10));\n      }" { (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x17aa6;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x17aa6" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar16 = get_run_time();" (assignment_expression "lVar16 = get_run_time()" identifier = (call_expression "get_run_time()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_34 = (bfd *)(lVar16 - local_5c);" (assignment_expression "local_34 = (bfd *)(lVar16 - local_5c)" identifier = (cast_expression "(bfd *)(lVar16 - local_5c)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar16 - local_5c)" ( (binary_expression "lVar16 - local_5c" identifier - identifier) )))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stdout_001c1fdc" * (cast_expression "(undefined4 *)PTR_stdout_001c1fdc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17ac1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17ac1" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar21 + -0x10));" (call_expression "fflush(*(FILE **)(puVar21 + -0x10))" identifier (argument_list "(*(FILE **)(puVar21 + -0x10))" ( (pointer_expression "*(FILE **)(puVar21 + -0x10)" * (cast_expression "(FILE **)(puVar21 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "pcVar7 = *local_60;" (assignment_expression "pcVar7 = *local_60" identifier = (pointer_expression "*local_60" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n";" (assignment_expression "*(char **)(puVar21 + -0xc) = "%s: total time in link: %ld.%06ld\n"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: total time in link: %ld.%06ld\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17ad9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17ad9" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar3 = PTR_stderr_001c1fa8;" (assignment_expression "puVar3 = PTR_stderr_001c1fa8" identifier = identifier) ;) (expression_statement "iVar18 = (int)local_34 / 1000000;" (assignment_expression "iVar18 = (int)local_34 / 1000000" identifier = (binary_expression "(int)local_34 / 1000000" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x10) = (int)local_34 % 1000000;" (assignment_expression "*(int *)(puVar21 + -0x10) = (int)local_34 % 1000000" (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_34 % 1000000" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x14) = iVar18;" (assignment_expression "*(int *)(puVar21 + -0x14) = iVar18" (pointer_expression "*(int *)(puVar21 + -0x14)" * (cast_expression "(int *)(puVar21 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar21 + -0x18) = pcVar7;" (assignment_expression "*(char **)(puVar21 + -0x18) = pcVar7" (pointer_expression "*(char **)(puVar21 + -0x18)" * (cast_expression "(char **)(puVar21 + -0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x18)" ( (binary_expression "puVar21 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x1c) = uVar9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x1c) = uVar9" (pointer_expression "*(undefined4 *)(puVar21 + -0x1c)" * (cast_expression "(undefined4 *)(puVar21 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x1c)" ( (binary_expression "puVar21 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;" (assignment_expression "*(undefined4 *)(puVar21 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8" (pointer_expression "*(undefined4 *)(puVar21 + -0x20)" * (cast_expression "(undefined4 *)(puVar21 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x20)" ( (binary_expression "puVar21 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stderr_001c1fa8" * (cast_expression "(undefined4 *)PTR_stderr_001c1fa8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x24) = 0x17af4;" (assignment_expression "*(undefined4 *)(puVar21 + -0x24) = 0x17af4" (pointer_expression "*(undefined4 *)(puVar21 + -0x24)" * (cast_expression "(undefined4 *)(puVar21 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x24)" ( (binary_expression "puVar21 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c));" (call_expression "fprintf(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c))" identifier (argument_list "(*(FILE **)(puVar21 + -0x20),*(char **)(puVar21 + -0x1c))" ( (pointer_expression "*(FILE **)(puVar21 + -0x20)" * (cast_expression "(FILE **)(puVar21 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x20)" ( (binary_expression "puVar21 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar21 + -0x1c)" * (cast_expression "(char **)(puVar21 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x1c)" ( (binary_expression "puVar21 + -0x1c" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)puVar3" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17afe;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17afe" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar21 + -0x10));" (call_expression "fflush(*(FILE **)(puVar21 + -0x10))" identifier (argument_list "(*(FILE **)(puVar21 + -0x10))" ( (pointer_expression "*(FILE **)(puVar21 + -0x10)" * (cast_expression "(FILE **)(puVar21 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "output_filename = (char *)0x0;" (assignment_expression "output_filename = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000172f3:\n      puVar22 = puVar21 + -0x10;" statement_identifier : (expression_statement "puVar22 = puVar21 + -0x10;" (assignment_expression "puVar22 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x172fd;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x172fd" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar8 = (bfd *)xexit();" (assignment_expression "pbVar8 = (bfd *)xexit()" identifier = (cast_expression "(bfd *)xexit()" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xexit()" identifier (argument_list "()" ( ))))) ;) (do_statement "do {\n        if ((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)) {\n          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);\n          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);\n        }\n        else {\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }\nLAB_00017328:\n        do {\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        } while ((!bVar28 && !bVar29) != bVar28);\n        bVar28 = false;\n        bVar29 = pbVar2[2] == 0;\n      } while (bVar29);" do (compound_statement "{\n        if ((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)) {\n          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);\n          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);\n        }\n        else {\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }\nLAB_00017328:\n        do {\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        } while ((!bVar28 && !bVar29) != bVar28);\n        bVar28 = false;\n        bVar29 = pbVar2[2] == 0;\n      }" { (if_statement "if ((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)) {\n          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);\n          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);\n        }\n        else {\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }" if (parenthesized_expression "((int)pbVar8 < (int)((int)&local_38[-1].build_id + 3))" ( (binary_expression "(int)pbVar8 < (int)((int)&local_38[-1].build_id + 3)" (cast_expression "(int)pbVar8" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)((int)&local_38[-1].build_id + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&local_38[-1].build_id + 3)" ( (binary_expression "(int)&local_38[-1].build_id + 3" (cast_expression "(int)&local_38[-1].build_id" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_38[-1].build_id" & (field_expression "local_38[-1].build_id" (subscript_expression "local_38[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) )) (compound_statement "{\n          local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);\n          local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);\n        }" { (expression_statement "local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script);" (assignment_expression "local_34 = (bfd *)((int)&pbVar8->filename + input_mri_script)" identifier = (cast_expression "(bfd *)((int)&pbVar8->filename + input_mri_script)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar8->filename + input_mri_script)" ( (binary_expression "(int)&pbVar8->filename + input_mri_script" (cast_expression "(int)&pbVar8->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar8->filename" & (field_expression "pbVar8->filename" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4);" (assignment_expression "local_54 = *(byte **)(local_40 + (int)pbVar8 * 4 + 4)" identifier = (pointer_expression "*(byte **)(local_40 + (int)pbVar8 * 4 + 4)" * (cast_expression "(byte **)(local_40 + (int)pbVar8 * 4 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_40 + (int)pbVar8 * 4 + 4)" ( (binary_expression "local_40 + (int)pbVar8 * 4 + 4" (binary_expression "local_40 + (int)pbVar8 * 4" identifier + (binary_expression "(int)pbVar8 * 4" (cast_expression "(int)pbVar8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }" else (compound_statement "{\n          *(bfd **)(puVar22 + -4) = pbVar8;\n          *(undefined4 *)(puVar22 + -8) = 5;\n          *(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar22 + -0x10) = 0;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174c3;\n          uVar9 = dcgettext();\n          *(undefined4 *)(puVar22 + -0x10) = uVar9;\n          *(undefined4 *)(puVar22 + -0x14) = 0x174cb;\n          einfo(*(char **)(puVar22 + -0x10));\n        }" { (expression_statement "*(bfd **)(puVar22 + -4) = pbVar8;" (assignment_expression "*(bfd **)(puVar22 + -4) = pbVar8" (pointer_expression "*(bfd **)(puVar22 + -4)" * (cast_expression "(bfd **)(puVar22 + -4)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n";" (assignment_expression "*(char **)(puVar22 + -0xc) = "%F%P: missing argument to -m\n"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: missing argument to -m\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x174c3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x174c3" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x174cb;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x174cb" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "einfo(*(char **)(puVar22 + -0x10));" (call_expression "einfo(*(char **)(puVar22 + -0x10))" identifier (argument_list "(*(char **)(puVar22 + -0x10))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ))) ;) }))) (labeled_statement "LAB_00017328:\n        do {\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        } while ((!bVar28 && !bVar29) != bVar28);" statement_identifier : (do_statement "do {\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        } while ((!bVar28 && !bVar29) != bVar28);" do (compound_statement "{\n          bVar28 = local_38 < local_34;\n          bVar29 = local_38 == local_34;\n          pbVar8 = local_34;\n          puVar21 = puVar22;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);\n          iVar18 = 2;\n          pbVar24 = pbVar2;\n          pbVar26 = local_50;\n          do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);\n          local_34 = (bfd *)((int)&pbVar8->filename + input_script);\n        }" { (expression_statement "bVar28 = local_38 < local_34;" (assignment_expression "bVar28 = local_38 < local_34" identifier = (binary_expression "local_38 < local_34" identifier < identifier)) ;) (expression_statement "bVar29 = local_38 == local_34;" (assignment_expression "bVar29 = local_38 == local_34" identifier = (binary_expression "local_38 == local_34" identifier == identifier)) ;) (expression_statement "pbVar8 = local_34;" (assignment_expression "pbVar8 = local_34" identifier = identifier) ;) (expression_statement "puVar21 = puVar22;" (assignment_expression "puVar21 = puVar22" identifier = identifier) ;) (if_statement "if ((int)local_38 <= (int)local_34) goto LAB_000171e4;" if (parenthesized_expression "((int)local_38 <= (int)local_34)" ( (binary_expression "(int)local_38 <= (int)local_34" (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000171e4;" goto statement_identifier ;)) (labeled_statement "LAB_00017334:\n          pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);" statement_identifier : (expression_statement "pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4);" (assignment_expression "pbVar2 = *(byte **)(local_40 + (int)pbVar8 * 4)" identifier = (pointer_expression "*(byte **)(local_40 + (int)pbVar8 * 4)" * (cast_expression "(byte **)(local_40 + (int)pbVar8 * 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_40 + (int)pbVar8 * 4)" ( (binary_expression "local_40 + (int)pbVar8 * 4" identifier + (binary_expression "(int)pbVar8 * 4" (cast_expression "(int)pbVar8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;)) (expression_statement "iVar18 = 2;" (assignment_expression "iVar18 = 2" identifier = number_literal) ;) (expression_statement "pbVar24 = pbVar2;" (assignment_expression "pbVar24 = pbVar2" identifier = identifier) ;) (expression_statement "pbVar26 = local_50;" (assignment_expression "pbVar26 = local_50" identifier = identifier) ;) (do_statement "do {\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          } while (bVar29);" do (compound_statement "{\n            if (iVar18 == 0) break;\n            iVar18 = iVar18 + -1;\n            bVar28 = *pbVar24 < *pbVar26;\n            bVar29 = *pbVar24 == *pbVar26;\n            pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;\n            pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;\n          }" { (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar24 < *pbVar26;" (assignment_expression "bVar28 = *pbVar24 < *pbVar26" identifier = (binary_expression "*pbVar24 < *pbVar26" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "bVar29 = *pbVar24 == *pbVar26;" (assignment_expression "bVar29 = *pbVar24 == *pbVar26" identifier = (binary_expression "*pbVar24 == *pbVar26" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (expression_statement "local_34 = (bfd *)((int)&pbVar8->filename + input_script);" (assignment_expression "local_34 = (bfd *)((int)&pbVar8->filename + input_script)" identifier = (cast_expression "(bfd *)((int)&pbVar8->filename + input_script)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar8->filename + input_script)" ( (binary_expression "(int)&pbVar8->filename + input_script" (cast_expression "(int)&pbVar8->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar8->filename" & (field_expression "pbVar8->filename" identifier -> field_identifier))) + identifier) )))) ;) }) while (parenthesized_expression "((!bVar28 && !bVar29) != bVar28)" ( (binary_expression "(!bVar28 && !bVar29) != bVar28" (parenthesized_expression "(!bVar28 && !bVar29)" ( (binary_expression "!bVar28 && !bVar29" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar29" ! identifier)) )) != identifier) )) ;)) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar29 = pbVar2[2] == 0;" (assignment_expression "bVar29 = pbVar2[2] == 0" identifier = (binary_expression "pbVar2[2] == 0" (subscript_expression "pbVar2[2]" identifier [ number_literal ]) == number_literal)) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (expression_statement "iVar18 = 7;" (assignment_expression "iVar18 = 7" identifier = number_literal) ;) (expression_statement "pbVar24 = pbVar2;" (assignment_expression "pbVar24 = pbVar2" identifier = identifier) ;) (expression_statement "pbVar26 = local_58;" (assignment_expression "pbVar26 = local_58" identifier = identifier) ;) (do_statement "do {\n        pbVar23 = pbVar24;\n        pbVar25 = pbVar26;\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1;\n        pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar23;\n        pbVar26 = pbVar25;\n      } while (bVar29);" do (compound_statement "{\n        pbVar23 = pbVar24;\n        pbVar25 = pbVar26;\n        if (iVar18 == 0) break;\n        iVar18 = iVar18 + -1;\n        pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1;\n        pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1;\n        bVar28 = *pbVar24 < *pbVar26;\n        bVar29 = *pbVar24 == *pbVar26;\n        pbVar24 = pbVar23;\n        pbVar26 = pbVar25;\n      }" { (expression_statement "pbVar23 = pbVar24;" (assignment_expression "pbVar23 = pbVar24" identifier = identifier) ;) (expression_statement "pbVar25 = pbVar26;" (assignment_expression "pbVar25 = pbVar26" identifier = identifier) ;) (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar25 = pbVar26 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1;" (assignment_expression "pbVar23 = pbVar24 + (uint)bVar30 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar30 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar30 * -2" identifier + (binary_expression "(uint)bVar30 * -2" (cast_expression "(uint)bVar30" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "bVar28 = *pbVar24 < *pbVar26;" (assignment_expression "bVar28 = *pbVar24 < *pbVar26" identifier = (binary_expression "*pbVar24 < *pbVar26" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "bVar29 = *pbVar24 == *pbVar26;" (assignment_expression "bVar29 = *pbVar24 == *pbVar26" identifier = (binary_expression "*pbVar24 == *pbVar26" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "pbVar24 = pbVar23;" (assignment_expression "pbVar24 = pbVar23" identifier = identifier) ;) (expression_statement "pbVar26 = pbVar25;" (assignment_expression "pbVar26 = pbVar25" identifier = identifier) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) (expression_statement "cVar5 = (!bVar28 && !bVar29) - bVar28;" (assignment_expression "cVar5 = (!bVar28 && !bVar29) - bVar28" identifier = (binary_expression "(!bVar28 && !bVar29) - bVar28" (parenthesized_expression "(!bVar28 && !bVar29)" ( (binary_expression "!bVar28 && !bVar29" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar29" ! identifier)) )) - identifier)) ;) (expression_statement "uVar9 = CONCAT31((int3)((uint)pbVar8 >> 8),cVar5);" (assignment_expression "uVar9 = CONCAT31((int3)((uint)pbVar8 >> 8),cVar5)" identifier = (call_expression "CONCAT31((int3)((uint)pbVar8 >> 8),cVar5)" identifier (argument_list "((int3)((uint)pbVar8 >> 8),cVar5)" ( (call_expression "(int3)((uint)pbVar8 >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "((uint)pbVar8 >> 8)" ( (binary_expression "(uint)pbVar8 >> 8" (cast_expression "(uint)pbVar8" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) , identifier )))) ;) (if_statement "if (cVar5 != '\0') {\n        *(undefined4 *)(puVar22 + -4) = uVar9;\n        *(undefined4 *)(puVar22 + -8) = uVar9;\n        *(char **)(puVar22 + -0xc) = local_64;\n        *(byte **)(puVar22 + -0x10) = pbVar2;\n        local_68 = pbVar2;\n        *(undefined4 *)(puVar22 + -0x14) = 0x1737f;\n        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n        pbVar2 = local_68;\n        if (iVar18 != 0) {\n          *(byte **)(puVar22 + -4) = pbVar25;\n          *(byte **)(puVar22 + -8) = pbVar25;\n          *(char **)(puVar22 + -0xc) = "-mips3";\n          *(byte **)(puVar22 + -0x10) = pbVar2;\n          *(undefined4 *)(puVar22 + -0x14) = 0x17398;\n          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n          pbVar2 = local_68;\n          if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined4 *)(puVar22 + -4) = uVar9;\n        *(undefined4 *)(puVar22 + -8) = uVar9;\n        *(char **)(puVar22 + -0xc) = local_64;\n        *(byte **)(puVar22 + -0x10) = pbVar2;\n        local_68 = pbVar2;\n        *(undefined4 *)(puVar22 + -0x14) = 0x1737f;\n        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n        pbVar2 = local_68;\n        if (iVar18 != 0) {\n          *(byte **)(puVar22 + -4) = pbVar25;\n          *(byte **)(puVar22 + -8) = pbVar25;\n          *(char **)(puVar22 + -0xc) = "-mips3";\n          *(byte **)(puVar22 + -0x10) = pbVar2;\n          *(undefined4 *)(puVar22 + -0x14) = 0x17398;\n          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n          pbVar2 = local_68;\n          if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = uVar9;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = uVar9" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = uVar9;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = uVar9" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar22 + -0xc) = local_64;" (assignment_expression "*(char **)(puVar22 + -0xc) = local_64" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar22 + -0x10) = pbVar2;" (assignment_expression "*(byte **)(puVar22 + -0x10) = pbVar2" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_68 = pbVar2;" (assignment_expression "local_68 = pbVar2" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1737f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1737f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier (argument_list "(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar2 = local_68;" (assignment_expression "pbVar2 = local_68" identifier = identifier) ;) (if_statement "if (iVar18 != 0) {\n          *(byte **)(puVar22 + -4) = pbVar25;\n          *(byte **)(puVar22 + -8) = pbVar25;\n          *(char **)(puVar22 + -0xc) = "-mips3";\n          *(byte **)(puVar22 + -0x10) = pbVar2;\n          *(undefined4 *)(puVar22 + -0x14) = 0x17398;\n          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n          pbVar2 = local_68;\n          if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n          *(byte **)(puVar22 + -4) = pbVar25;\n          *(byte **)(puVar22 + -8) = pbVar25;\n          *(char **)(puVar22 + -0xc) = "-mips3";\n          *(byte **)(puVar22 + -0x10) = pbVar2;\n          *(undefined4 *)(puVar22 + -0x14) = 0x17398;\n          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n          pbVar2 = local_68;\n          if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" { (expression_statement "*(byte **)(puVar22 + -4) = pbVar25;" (assignment_expression "*(byte **)(puVar22 + -4) = pbVar25" (pointer_expression "*(byte **)(puVar22 + -4)" * (cast_expression "(byte **)(puVar22 + -4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar22 + -8) = pbVar25;" (assignment_expression "*(byte **)(puVar22 + -8) = pbVar25" (pointer_expression "*(byte **)(puVar22 + -8)" * (cast_expression "(byte **)(puVar22 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "-mips3";" (assignment_expression "*(char **)(puVar22 + -0xc) = "-mips3"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips3"" " string_content ")) ;) (expression_statement "*(byte **)(puVar22 + -0x10) = pbVar2;" (assignment_expression "*(byte **)(puVar22 + -0x10) = pbVar2" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x17398;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x17398" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier (argument_list "(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar2 = local_68;" (assignment_expression "pbVar2 = local_68" identifier = identifier) ;) (if_statement "if (iVar18 != 0) {\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n            *(byte **)(puVar22 + -4) = pbVar23;\n            *(byte **)(puVar22 + -8) = pbVar23;\n            *(char **)(puVar22 + -0xc) = "-mips4";\n            *(byte **)(puVar22 + -0x10) = pbVar2;\n            *(undefined4 *)(puVar22 + -0x14) = 0x173b1;\n            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n            pbVar2 = local_68;\n            if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "*(byte **)(puVar22 + -4) = pbVar23;" (assignment_expression "*(byte **)(puVar22 + -4) = pbVar23" (pointer_expression "*(byte **)(puVar22 + -4)" * (cast_expression "(byte **)(puVar22 + -4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar22 + -8) = pbVar23;" (assignment_expression "*(byte **)(puVar22 + -8) = pbVar23" (pointer_expression "*(byte **)(puVar22 + -8)" * (cast_expression "(byte **)(puVar22 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "-mips4";" (assignment_expression "*(char **)(puVar22 + -0xc) = "-mips4"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips4"" " string_content ")) ;) (expression_statement "*(byte **)(puVar22 + -0x10) = pbVar2;" (assignment_expression "*(byte **)(puVar22 + -0x10) = pbVar2" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x173b1;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x173b1" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier (argument_list "(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar2 = local_68;" (assignment_expression "pbVar2 = local_68" identifier = identifier) ;) (if_statement "if (iVar18 != 0) {\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar22 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar22 + -8) = extraout_ECX;\n              *(char **)(puVar22 + -0xc) = "-mips5";\n              *(byte **)(puVar22 + -0x10) = pbVar2;\n              *(undefined4 *)(puVar22 + -0x14) = 0x173ce;\n              iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n              if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "-mips5";" (assignment_expression "*(char **)(puVar22 + -0xc) = "-mips5"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips5"" " string_content ")) ;) (expression_statement "*(byte **)(puVar22 + -0x10) = pbVar2;" (assignment_expression "*(byte **)(puVar22 + -0x10) = pbVar2" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x173ce;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x173ce" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier (argument_list "(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar18 != 0) {\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar22 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar22 + -8) = extraout_EDX;\n                pbVar2 = local_68;\n                *(char **)(puVar22 + -0xc) = "-mips32";\n                *(byte **)(puVar22 + -0x10) = pbVar2;\n                *(undefined4 *)(puVar22 + -0x14) = 0x173eb;\n                iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                pbVar2 = local_68;\n                if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = extraout_EDX;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = extraout_EDX" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = extraout_EDX;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = extraout_EDX" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pbVar2 = local_68;" (assignment_expression "pbVar2 = local_68" identifier = identifier) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "-mips32";" (assignment_expression "*(char **)(puVar22 + -0xc) = "-mips32"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips32"" " string_content ")) ;) (expression_statement "*(byte **)(puVar22 + -0x10) = pbVar2;" (assignment_expression "*(byte **)(puVar22 + -0x10) = pbVar2" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x173eb;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x173eb" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier (argument_list "(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar2 = local_68;" (assignment_expression "pbVar2 = local_68" identifier = identifier) ;) (if_statement "if (iVar18 != 0) {\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(int *)(puVar22 + -4) = iVar18;\n                  *(int *)(puVar22 + -8) = iVar18;\n                  *(char **)(puVar22 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar22 + -0x10) = pbVar2;\n                  *(undefined4 *)(puVar22 + -0x14) = 0x17408;\n                  iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                  pbVar2 = local_68;\n                  if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }" { (expression_statement "*(int *)(puVar22 + -4) = iVar18;" (assignment_expression "*(int *)(puVar22 + -4) = iVar18" (pointer_expression "*(int *)(puVar22 + -4)" * (cast_expression "(int *)(puVar22 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -8) = iVar18;" (assignment_expression "*(int *)(puVar22 + -8) = iVar18" (pointer_expression "*(int *)(puVar22 + -8)" * (cast_expression "(int *)(puVar22 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "-mips32r2";" (assignment_expression "*(char **)(puVar22 + -0xc) = "-mips32r2"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips32r2"" " string_content ")) ;) (expression_statement "*(byte **)(puVar22 + -0x10) = pbVar2;" (assignment_expression "*(byte **)(puVar22 + -0x10) = pbVar2" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x17408;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x17408" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier (argument_list "(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar2 = local_68;" (assignment_expression "pbVar2 = local_68" identifier = identifier) ;) (if_statement "if (iVar18 != 0) {\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n                    *(int *)(puVar22 + -4) = iVar18;\n                    *(int *)(puVar22 + -8) = iVar18;\n                    *(char **)(puVar22 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar22 + -0x10) = pbVar2;\n                    *(undefined4 *)(puVar22 + -0x14) = 0x17425;\n                    iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                    pbVar2 = local_68;\n                    if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" { (expression_statement "*(int *)(puVar22 + -4) = iVar18;" (assignment_expression "*(int *)(puVar22 + -4) = iVar18" (pointer_expression "*(int *)(puVar22 + -4)" * (cast_expression "(int *)(puVar22 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -8) = iVar18;" (assignment_expression "*(int *)(puVar22 + -8) = iVar18" (pointer_expression "*(int *)(puVar22 + -8)" * (cast_expression "(int *)(puVar22 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "-mips32r6";" (assignment_expression "*(char **)(puVar22 + -0xc) = "-mips32r6"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips32r6"" " string_content ")) ;) (expression_statement "*(byte **)(puVar22 + -0x10) = pbVar2;" (assignment_expression "*(byte **)(puVar22 + -0x10) = pbVar2" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x17425;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x17425" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier (argument_list "(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar2 = local_68;" (assignment_expression "pbVar2 = local_68" identifier = identifier) ;) (if_statement "if (iVar18 != 0) {\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n                      *(int *)(puVar22 + -4) = iVar18;\n                      *(int *)(puVar22 + -8) = iVar18;\n                      *(char **)(puVar22 + -0xc) = "-mips64";\n                      *(byte **)(puVar22 + -0x10) = pbVar2;\n                      *(undefined4 *)(puVar22 + -0x14) = 0x17442;\n                      iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                      pbVar2 = local_68;\n                      if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }" { (expression_statement "*(int *)(puVar22 + -4) = iVar18;" (assignment_expression "*(int *)(puVar22 + -4) = iVar18" (pointer_expression "*(int *)(puVar22 + -4)" * (cast_expression "(int *)(puVar22 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -8) = iVar18;" (assignment_expression "*(int *)(puVar22 + -8) = iVar18" (pointer_expression "*(int *)(puVar22 + -8)" * (cast_expression "(int *)(puVar22 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "-mips64";" (assignment_expression "*(char **)(puVar22 + -0xc) = "-mips64"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips64"" " string_content ")) ;) (expression_statement "*(byte **)(puVar22 + -0x10) = pbVar2;" (assignment_expression "*(byte **)(puVar22 + -0x10) = pbVar2" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x17442;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x17442" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier (argument_list "(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar2 = local_68;" (assignment_expression "pbVar2 = local_68" identifier = identifier) ;) (if_statement "if (iVar18 != 0) {\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n                        *(int *)(puVar22 + -4) = iVar18;\n                        *(int *)(puVar22 + -8) = iVar18;\n                        *(char **)(puVar22 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar22 + -0x10) = pbVar2;\n                        *(undefined4 *)(puVar22 + -0x14) = 0x1745f;\n                        iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                        pbVar2 = local_68;\n                        if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }" { (expression_statement "*(int *)(puVar22 + -4) = iVar18;" (assignment_expression "*(int *)(puVar22 + -4) = iVar18" (pointer_expression "*(int *)(puVar22 + -4)" * (cast_expression "(int *)(puVar22 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -8) = iVar18;" (assignment_expression "*(int *)(puVar22 + -8) = iVar18" (pointer_expression "*(int *)(puVar22 + -8)" * (cast_expression "(int *)(puVar22 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "-mips64r2";" (assignment_expression "*(char **)(puVar22 + -0xc) = "-mips64r2"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips64r2"" " string_content ")) ;) (expression_statement "*(byte **)(puVar22 + -0x10) = pbVar2;" (assignment_expression "*(byte **)(puVar22 + -0x10) = pbVar2" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1745f;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1745f" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier (argument_list "(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar2 = local_68;" (assignment_expression "pbVar2 = local_68" identifier = identifier) ;) (if_statement "if (iVar18 != 0) {\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n                          *(int *)(puVar22 + -4) = iVar18;\n                          *(int *)(puVar22 + -8) = iVar18;\n                          *(char **)(puVar22 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar22 + -0x10) = pbVar2;\n                          *(undefined4 *)(puVar22 + -0x14) = 0x1747c;\n                          iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                          pbVar2 = local_68;\n                          if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }" { (expression_statement "*(int *)(puVar22 + -4) = iVar18;" (assignment_expression "*(int *)(puVar22 + -4) = iVar18" (pointer_expression "*(int *)(puVar22 + -4)" * (cast_expression "(int *)(puVar22 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -8) = iVar18;" (assignment_expression "*(int *)(puVar22 + -8) = iVar18" (pointer_expression "*(int *)(puVar22 + -8)" * (cast_expression "(int *)(puVar22 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "-mips64r6";" (assignment_expression "*(char **)(puVar22 + -0xc) = "-mips64r6"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips64r6"" " string_content ")) ;) (expression_statement "*(byte **)(puVar22 + -0x10) = pbVar2;" (assignment_expression "*(byte **)(puVar22 + -0x10) = pbVar2" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1747c;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1747c" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier (argument_list "(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar2 = local_68;" (assignment_expression "pbVar2 = local_68" identifier = identifier) ;) (if_statement "if (iVar18 != 0) {\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n                            *(int *)(puVar22 + -4) = iVar18;\n                            *(int *)(puVar22 + -8) = iVar18;\n                            *(char **)(puVar22 + -0xc) = "-m486";\n                            *(byte **)(puVar22 + -0x10) = pbVar2;\n                            *(undefined4 *)(puVar22 + -0x14) = 0x17499;\n                            iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));\n                            if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }" { (expression_statement "*(int *)(puVar22 + -4) = iVar18;" (assignment_expression "*(int *)(puVar22 + -4) = iVar18" (pointer_expression "*(int *)(puVar22 + -4)" * (cast_expression "(int *)(puVar22 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar22 + -8) = iVar18;" (assignment_expression "*(int *)(puVar22 + -8) = iVar18" (pointer_expression "*(int *)(puVar22 + -8)" * (cast_expression "(int *)(puVar22 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "-m486";" (assignment_expression "*(char **)(puVar22 + -0xc) = "-m486"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""-m486"" " string_content ")) ;) (expression_statement "*(byte **)(puVar22 + -0x10) = pbVar2;" (assignment_expression "*(byte **)(puVar22 + -0x10) = pbVar2" (pointer_expression "*(byte **)(puVar22 + -0x10)" * (cast_expression "(byte **)(puVar22 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x17499;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x17499" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc));" (assignment_expression "iVar18 = strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" identifier (argument_list "(*(char **)(puVar22 + -0x10),*(char **)(puVar22 + -0xc))" ( (pointer_expression "*(char **)(puVar22 + -0x10)" * (cast_expression "(char **)(puVar22 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar18 != 0) {\n                              local_54 = local_68 + 2;\n                            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n                              local_54 = local_68 + 2;\n                            }" { (expression_statement "local_54 = local_68 + 2;" (assignment_expression "local_54 = local_68 + 2" identifier = (binary_expression "local_68 + 2" identifier + number_literal)) ;) })) })) })) })) })) })) })) })) })) })) })) })) (goto_statement "goto LAB_00017328;" goto statement_identifier ;) })) (if_statement "if (trace_files != 0) {\n      *(bfd_boolean **)(puVar21 + -4) = &trace_files;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b5c;\n      uVar9 = dcgettext();\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b65;\n      einfo(*(char **)(puVar21 + -0x10));\n    }" if (parenthesized_expression "(trace_files != 0)" ( (binary_expression "trace_files != 0" identifier != number_literal) )) (compound_statement "{\n      *(bfd_boolean **)(puVar21 + -4) = &trace_files;\n      *(undefined4 *)(puVar21 + -8) = 5;\n      *(char **)(puVar21 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar21 + -0x10) = 0;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b5c;\n      uVar9 = dcgettext();\n      *(char **)(puVar21 + -0xc) = pcVar7;\n      *(undefined4 *)(puVar21 + -0x10) = uVar9;\n      *(undefined4 *)(puVar21 + -0x14) = 0x17b65;\n      einfo(*(char **)(puVar21 + -0x10));\n    }" { (expression_statement "*(bfd_boolean **)(puVar21 + -4) = &trace_files;" (assignment_expression "*(bfd_boolean **)(puVar21 + -4) = &trace_files" (pointer_expression "*(bfd_boolean **)(puVar21 + -4)" * (cast_expression "(bfd_boolean **)(puVar21 + -4)" ( (type_descriptor "bfd_boolean **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (pointer_expression "&trace_files" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";" (assignment_expression "*(char **)(puVar21 + -0xc) = "%P: link errors found, deleting executable `%s\'\n"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""%P: link errors found, deleting executable `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17b5c;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17b5c" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)(puVar21 + -0xc) = pcVar7;" (assignment_expression "*(char **)(puVar21 + -0xc) = pcVar7" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17b65;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17b65" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "einfo(*(char **)(puVar21 + -0x10));" (call_expression "einfo(*(char **)(puVar21 + -0x10))" identifier (argument_list "(*(char **)(puVar21 + -0x10))" ( (pointer_expression "*(char **)(puVar21 + -0x10)" * (cast_expression "(char **)(puVar21 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "puVar22 = puVar21 + -0x10;" (assignment_expression "puVar22 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x17657;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x17657" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "xexit();" (call_expression "xexit()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00017657:\n    local_54 = (byte *)0x80c15;" statement_identifier : (expression_statement "local_54 = (byte *)0x80c15;" (assignment_expression "local_54 = (byte *)0x80c15" identifier = (cast_expression "(byte *)0x80c15" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void FUN_00016ef0(uint param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  char cVar3;\n  size_t sVar4;\n  char *pcVar5;\n  FILE *pFVar6;\n  undefined4 uVar7;\n  int iVar8;\n  byte *pbVar9;\n  size_t sVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  uint uVar14;\n  undefined4 extraout_EDX;\n  uint uVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  byte *pbVar20;\n  undefined4 *puVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined8 uVar26;\n  int aiStack_b4 [13];\n  undefined1 auStack_70 [8];\n  byte *local_68;\n  char *local_64;\n  undefined4 *local_60;\n  int local_5c;\n  byte *local_58;\n  byte *local_54;\n  byte *local_50;\n  undefined4 *local_4c;\n  int *local_48;\n  undefined4 *local_44;\n  char *local_40;\n  byte *local_3c;\n  FILE *local_38;\n  FILE *local_34;\n  int local_24 [3];\n  int *piStack_18;\n  byte *pbVar19;\n  byte *pbVar21;\n  \n  bVar25 = 0;\n  local_48 = (int *)&param_1;\n  piStack_18 = local_48;\n  local_5c = FUN_0006f170();\n  local_40 = "";\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  local_60 = &DAT_001c4758;\n  DAT_001c4758 = *param_2;\n  xmalloc_set_program_name();\n  FUN_0006ed20();\n  bfd_init();\n  bfd_set_error_program_name();\n  DAT_001c39ec = bfd_set_assert_handler();\n  DAT_001c39e8 = bfd_set_error_handler();\n  FUN_0006f200();\n  local_34 = (FILE *)param_2;\n  local_38 = (FILE *)param_1;\n  bVar23 = param_1 == 0;\n  bVar24 = param_1 == 1;\n  if (1 < (int)param_1) {\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }\n  DAT_001c467c = (byte *)0x7ef86;\nLAB_000174e1:\n  DAT_001c4764 = (char *)lrealpath();\nLAB_00017033:\n  pcVar5 = DAT_001c4764;\n  puVar17 = auStack_70;\n  if (DAT_001c4764 == (char *)0x0) {\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }\n  else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }\n  DAT_001c45c8 = sVar4;\n  iVar13 = bfd_set_default_target();\n  if (iVar13 == 0) {\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }\n  DAT_001c46ec = 1;\n  DAT_001c4728 = 0x3a;\n  DAT_001c4734 = 0xffffffff;\n  DAT_001c4738 = 0xffffffff;\n  DAT_001c473c = 0xffffffff;\n  DAT_001c46e4 = 1;\n  DAT_001c46e0 = 1;\n  DAT_001c4710 = 1;\n  local_4c = &DAT_001c46e0;\n  DAT_001c45f8 = 0xffffffff;\n  DAT_001c4690 = 1;\n  DAT_001c4694 = 1;\n  DAT_001c4698 = 0xff;\n  local_44 = &DAT_001c4680;\n  *(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";\n  local_3c = &DAT_001c45e0;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17116;\n  pcVar5 = getenv(*(char **)(puVar17 + -0x10));\n  DAT_001c4638 = 1;\n  DAT_001c4640 = 0xffffffff;\n  DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);\n  _DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;\n  DAT_001c45fc = &PTR_FUN_001c23e0;\n  DAT_001c4620 = &DAT_001c461c;\n  DAT_001c4630 = "_init";\n  DAT_001c4634 = "_fini";\n  DAT_001c4644 = 0xffffffff;\n  local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);\n  _DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;\n  DAT_001c4648 = 0xffffffff;\n  DAT_001c4650 = 5;\n  DAT_001c45ea = 0x3a;\n  *(char **)(puVar17 + -0x10) = local_40;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17190;\n  FUN_00035d00();\n  local_40 = (char *)local_48[1];\n  local_38 = (FILE *)*local_48;\n  *(char **)(puVar17 + -0x10) = "LDEMULATION";\n  *(undefined4 *)(puVar17 + -0x14) = 0x171ac;\n  local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));\n  if (local_54 == (byte *)0x0) goto LAB_00017657;\n  do {\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );\n}\n\n" (function_definition "void FUN_00016ef0(uint param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  char cVar3;\n  size_t sVar4;\n  char *pcVar5;\n  FILE *pFVar6;\n  undefined4 uVar7;\n  int iVar8;\n  byte *pbVar9;\n  size_t sVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  uint uVar14;\n  undefined4 extraout_EDX;\n  uint uVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  byte *pbVar20;\n  undefined4 *puVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined8 uVar26;\n  int aiStack_b4 [13];\n  undefined1 auStack_70 [8];\n  byte *local_68;\n  char *local_64;\n  undefined4 *local_60;\n  int local_5c;\n  byte *local_58;\n  byte *local_54;\n  byte *local_50;\n  undefined4 *local_4c;\n  int *local_48;\n  undefined4 *local_44;\n  char *local_40;\n  byte *local_3c;\n  FILE *local_38;\n  FILE *local_34;\n  int local_24 [3];\n  int *piStack_18;\n  byte *pbVar19;\n  byte *pbVar21;\n  \n  bVar25 = 0;\n  local_48 = (int *)&param_1;\n  piStack_18 = local_48;\n  local_5c = FUN_0006f170();\n  local_40 = "";\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  local_60 = &DAT_001c4758;\n  DAT_001c4758 = *param_2;\n  xmalloc_set_program_name();\n  FUN_0006ed20();\n  bfd_init();\n  bfd_set_error_program_name();\n  DAT_001c39ec = bfd_set_assert_handler();\n  DAT_001c39e8 = bfd_set_error_handler();\n  FUN_0006f200();\n  local_34 = (FILE *)param_2;\n  local_38 = (FILE *)param_1;\n  bVar23 = param_1 == 0;\n  bVar24 = param_1 == 1;\n  if (1 < (int)param_1) {\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }\n  DAT_001c467c = (byte *)0x7ef86;\nLAB_000174e1:\n  DAT_001c4764 = (char *)lrealpath();\nLAB_00017033:\n  pcVar5 = DAT_001c4764;\n  puVar17 = auStack_70;\n  if (DAT_001c4764 == (char *)0x0) {\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }\n  else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }\n  DAT_001c45c8 = sVar4;\n  iVar13 = bfd_set_default_target();\n  if (iVar13 == 0) {\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }\n  DAT_001c46ec = 1;\n  DAT_001c4728 = 0x3a;\n  DAT_001c4734 = 0xffffffff;\n  DAT_001c4738 = 0xffffffff;\n  DAT_001c473c = 0xffffffff;\n  DAT_001c46e4 = 1;\n  DAT_001c46e0 = 1;\n  DAT_001c4710 = 1;\n  local_4c = &DAT_001c46e0;\n  DAT_001c45f8 = 0xffffffff;\n  DAT_001c4690 = 1;\n  DAT_001c4694 = 1;\n  DAT_001c4698 = 0xff;\n  local_44 = &DAT_001c4680;\n  *(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";\n  local_3c = &DAT_001c45e0;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17116;\n  pcVar5 = getenv(*(char **)(puVar17 + -0x10));\n  DAT_001c4638 = 1;\n  DAT_001c4640 = 0xffffffff;\n  DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);\n  _DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;\n  DAT_001c45fc = &PTR_FUN_001c23e0;\n  DAT_001c4620 = &DAT_001c461c;\n  DAT_001c4630 = "_init";\n  DAT_001c4634 = "_fini";\n  DAT_001c4644 = 0xffffffff;\n  local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);\n  _DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;\n  DAT_001c4648 = 0xffffffff;\n  DAT_001c4650 = 5;\n  DAT_001c45ea = 0x3a;\n  *(char **)(puVar17 + -0x10) = local_40;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17190;\n  FUN_00035d00();\n  local_40 = (char *)local_48[1];\n  local_38 = (FILE *)*local_48;\n  *(char **)(puVar17 + -0x10) = "LDEMULATION";\n  *(undefined4 *)(puVar17 + -0x14) = 0x171ac;\n  local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));\n  if (local_54 == (byte *)0x0) goto LAB_00017657;\n  do {\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00016ef0(uint param_1,undefined4 *param_2)" identifier (parameter_list "(uint param_1,undefined4 *param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  undefined *puVar2;\n  char cVar3;\n  size_t sVar4;\n  char *pcVar5;\n  FILE *pFVar6;\n  undefined4 uVar7;\n  int iVar8;\n  byte *pbVar9;\n  size_t sVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  uint uVar14;\n  undefined4 extraout_EDX;\n  uint uVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  byte *pbVar20;\n  undefined4 *puVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined8 uVar26;\n  int aiStack_b4 [13];\n  undefined1 auStack_70 [8];\n  byte *local_68;\n  char *local_64;\n  undefined4 *local_60;\n  int local_5c;\n  byte *local_58;\n  byte *local_54;\n  byte *local_50;\n  undefined4 *local_4c;\n  int *local_48;\n  undefined4 *local_44;\n  char *local_40;\n  byte *local_3c;\n  FILE *local_38;\n  FILE *local_34;\n  int local_24 [3];\n  int *piStack_18;\n  byte *pbVar19;\n  byte *pbVar21;\n  \n  bVar25 = 0;\n  local_48 = (int *)&param_1;\n  piStack_18 = local_48;\n  local_5c = FUN_0006f170();\n  local_40 = "";\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  local_60 = &DAT_001c4758;\n  DAT_001c4758 = *param_2;\n  xmalloc_set_program_name();\n  FUN_0006ed20();\n  bfd_init();\n  bfd_set_error_program_name();\n  DAT_001c39ec = bfd_set_assert_handler();\n  DAT_001c39e8 = bfd_set_error_handler();\n  FUN_0006f200();\n  local_34 = (FILE *)param_2;\n  local_38 = (FILE *)param_1;\n  bVar23 = param_1 == 0;\n  bVar24 = param_1 == 1;\n  if (1 < (int)param_1) {\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }\n  DAT_001c467c = (byte *)0x7ef86;\nLAB_000174e1:\n  DAT_001c4764 = (char *)lrealpath();\nLAB_00017033:\n  pcVar5 = DAT_001c4764;\n  puVar17 = auStack_70;\n  if (DAT_001c4764 == (char *)0x0) {\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }\n  else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }\n  DAT_001c45c8 = sVar4;\n  iVar13 = bfd_set_default_target();\n  if (iVar13 == 0) {\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }\n  DAT_001c46ec = 1;\n  DAT_001c4728 = 0x3a;\n  DAT_001c4734 = 0xffffffff;\n  DAT_001c4738 = 0xffffffff;\n  DAT_001c473c = 0xffffffff;\n  DAT_001c46e4 = 1;\n  DAT_001c46e0 = 1;\n  DAT_001c4710 = 1;\n  local_4c = &DAT_001c46e0;\n  DAT_001c45f8 = 0xffffffff;\n  DAT_001c4690 = 1;\n  DAT_001c4694 = 1;\n  DAT_001c4698 = 0xff;\n  local_44 = &DAT_001c4680;\n  *(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";\n  local_3c = &DAT_001c45e0;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17116;\n  pcVar5 = getenv(*(char **)(puVar17 + -0x10));\n  DAT_001c4638 = 1;\n  DAT_001c4640 = 0xffffffff;\n  DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);\n  _DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;\n  DAT_001c45fc = &PTR_FUN_001c23e0;\n  DAT_001c4620 = &DAT_001c461c;\n  DAT_001c4630 = "_init";\n  DAT_001c4634 = "_fini";\n  DAT_001c4644 = 0xffffffff;\n  local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);\n  _DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;\n  DAT_001c4648 = 0xffffffff;\n  DAT_001c4650 = 5;\n  DAT_001c45ea = 0x3a;\n  *(char **)(puVar17 + -0x10) = local_40;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17190;\n  FUN_00035d00();\n  local_40 = (char *)local_48[1];\n  local_38 = (FILE *)*local_48;\n  *(char **)(puVar17 + -0x10) = "LDEMULATION";\n  *(undefined4 *)(puVar17 + -0x14) = 0x171ac;\n  local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));\n  if (local_54 == (byte *)0x0) goto LAB_00017657;\n  do {\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "FILE *pFVar6;" type_identifier (pointer_declarator "*pFVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "undefined8 uVar26;" type_identifier identifier ;) (declaration "int aiStack_b4 [13];" primitive_type (array_declarator "aiStack_b4 [13]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_70 [8];" type_identifier (array_declarator "auStack_70 [8]" identifier [ number_literal ]) ;) (declaration "byte *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "char *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "byte *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "byte *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined4 *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "int *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined4 *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "byte *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "FILE *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "FILE *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "int local_24 [3];" primitive_type (array_declarator "local_24 [3]" identifier [ number_literal ]) ;) (declaration "int *piStack_18;" primitive_type (pointer_declarator "*piStack_18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "local_48 = (int *)&param_1;" (assignment_expression "local_48 = (int *)&param_1" identifier = (cast_expression "(int *)&param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1" & identifier))) ;) (expression_statement "piStack_18 = local_48;" (assignment_expression "piStack_18 = local_48" identifier = identifier) ;) (expression_statement "local_5c = FUN_0006f170();" (assignment_expression "local_5c = FUN_0006f170()" identifier = (call_expression "FUN_0006f170()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_40 = "";" (assignment_expression "local_40 = """ identifier = (string_literal """" " ")) ;) (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 "local_60 = &DAT_001c4758;" (assignment_expression "local_60 = &DAT_001c4758" identifier = (pointer_expression "&DAT_001c4758" & identifier)) ;) (expression_statement "DAT_001c4758 = *param_2;" (assignment_expression "DAT_001c4758 = *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 "FUN_0006ed20();" (call_expression "FUN_0006ed20()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_init();" (call_expression "bfd_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_set_error_program_name();" (call_expression "bfd_set_error_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_001c39ec = bfd_set_assert_handler();" (assignment_expression "DAT_001c39ec = bfd_set_assert_handler()" identifier = (call_expression "bfd_set_assert_handler()" identifier (argument_list "()" ( )))) ;) (expression_statement "DAT_001c39e8 = bfd_set_error_handler();" (assignment_expression "DAT_001c39e8 = bfd_set_error_handler()" identifier = (call_expression "bfd_set_error_handler()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0006f200();" (call_expression "FUN_0006f200()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_34 = (FILE *)param_2;" (assignment_expression "local_34 = (FILE *)param_2" identifier = (cast_expression "(FILE *)param_2" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_38 = (FILE *)param_1;" (assignment_expression "local_38 = (FILE *)param_1" identifier = (cast_expression "(FILE *)param_1" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bVar23 = param_1 == 0;" (assignment_expression "bVar23 = param_1 == 0" identifier = (binary_expression "param_1 == 0" identifier == number_literal)) ;) (expression_statement "bVar24 = param_1 == 1;" (assignment_expression "bVar24 = param_1 == 1" identifier = (binary_expression "param_1 == 1" identifier == number_literal)) ;) (if_statement "if (1 < (int)param_1) {\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }" if (parenthesized_expression "(1 < (int)param_1)" ( (binary_expression "1 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }" { (expression_statement "local_3c = (byte *)0x80c34;" (assignment_expression "local_3c = (byte *)0x80c34" identifier = (cast_expression "(byte *)0x80c34" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (do_statement "do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);" do (compound_statement "{\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    }" { (expression_statement "iVar13 = 10;" (assignment_expression "iVar13 = 10" identifier = number_literal) ;) (expression_statement "pbVar9 = (byte *)param_2[uVar14];" (assignment_expression "pbVar9 = (byte *)param_2[uVar14]" identifier = (cast_expression "(byte *)param_2[uVar14]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[uVar14]" identifier [ identifier ]))) ;) (expression_statement "pbVar19 = pbVar9;" (assignment_expression "pbVar19 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar21 = local_3c;" (assignment_expression "pbVar21 = local_3c" identifier = identifier) ;) (do_statement "do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);" do (compound_statement "{\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      }" { (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar19 < *pbVar21;" (assignment_expression "bVar23 = *pbVar19 < *pbVar21" identifier = (binary_expression "*pbVar19 < *pbVar21" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar21;" (assignment_expression "bVar24 = *pbVar19 == *pbVar21" identifier = (binary_expression "*pbVar19 == *pbVar21" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }" if (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" ( (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier) )) (compound_statement "{\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }" { (expression_statement "DAT_001c467c = pbVar9 + 10;" (assignment_expression "DAT_001c467c = pbVar9 + 10" identifier = (binary_expression "pbVar9 + 10" identifier + number_literal)) ;) (if_statement "if (pbVar9[10] == 0) goto LAB_00017033;" if (parenthesized_expression "(pbVar9[10] == 0)" ( (binary_expression "pbVar9[10] == 0" (subscript_expression "pbVar9[10]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00017033;" goto statement_identifier ;)) (goto_statement "goto LAB_000174e1;" goto statement_identifier ;) })) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;) (expression_statement "bVar23 = param_1 < uVar14;" (assignment_expression "bVar23 = param_1 < uVar14" identifier = (binary_expression "param_1 < uVar14" identifier < identifier)) ;) (expression_statement "bVar24 = param_1 == uVar14;" (assignment_expression "bVar24 = param_1 == uVar14" identifier = (binary_expression "param_1 == uVar14" identifier == identifier)) ;) }) while (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) ;) })) (expression_statement "DAT_001c467c = (byte *)0x7ef86;" (assignment_expression "DAT_001c467c = (byte *)0x7ef86" identifier = (cast_expression "(byte *)0x7ef86" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000174e1:\n  DAT_001c4764 = (char *)lrealpath();" statement_identifier : (expression_statement "DAT_001c4764 = (char *)lrealpath();" (assignment_expression "DAT_001c4764 = (char *)lrealpath()" identifier = (cast_expression "(char *)lrealpath()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "lrealpath()" identifier (argument_list "()" ( ))))) ;)) (labeled_statement "LAB_00017033:\n  pcVar5 = DAT_001c4764;" statement_identifier : (expression_statement "pcVar5 = DAT_001c4764;" (assignment_expression "pcVar5 = DAT_001c4764" identifier = identifier) ;)) (expression_statement "puVar17 = auStack_70;" (assignment_expression "puVar17 = auStack_70" identifier = identifier) ;) (if_statement "if (DAT_001c4764 == (char *)0x0) {\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }\n  else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }" if (parenthesized_expression "(DAT_001c4764 == (char *)0x0)" ( (binary_expression "DAT_001c4764 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }" { (expression_statement "DAT_001c45c8 = 0xffffffff;" (assignment_expression "DAT_001c45c8 = 0xffffffff" identifier = number_literal) ;) (expression_statement "sVar4 = DAT_001c45c8;" (assignment_expression "sVar4 = DAT_001c45c8" identifier = identifier) ;) }) (else_clause "else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }" else (compound_statement "{\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }" { (expression_statement "sVar4 = strlen(DAT_001c4764);" (assignment_expression "sVar4 = strlen(DAT_001c4764)" identifier = (call_expression "strlen(DAT_001c4764)" identifier (argument_list "(DAT_001c4764)" ( identifier )))) ;) (if_statement "if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }" if (parenthesized_expression "(sVar4 != 0)" ( (binary_expression "sVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }" { (expression_statement "DAT_001c45c8 = sVar4 - 1;" (assignment_expression "DAT_001c45c8 = sVar4 - 1" identifier = (binary_expression "sVar4 - 1" identifier - number_literal)) ;) (if_statement "if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }" if (parenthesized_expression "(pcVar5[DAT_001c45c8] == '/')" ( (binary_expression "pcVar5[DAT_001c45c8] == '/'" (subscript_expression "pcVar5[DAT_001c45c8]" identifier [ identifier ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }" { (expression_statement "pcVar5[DAT_001c45c8] = '\0';" (assignment_expression "pcVar5[DAT_001c45c8] = '\0'" (subscript_expression "pcVar5[DAT_001c45c8]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar4 = DAT_001c45c8;" (assignment_expression "sVar4 = DAT_001c45c8" identifier = identifier) ;) })) })) }))) (expression_statement "DAT_001c45c8 = sVar4;" (assignment_expression "DAT_001c45c8 = sVar4" identifier = identifier) ;) (expression_statement "iVar13 = bfd_set_default_target();" (assignment_expression "iVar13 = bfd_set_default_target()" identifier = (call_expression "bfd_set_default_target()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar13 == 0) {\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }" { (expression_statement "dcgettext();" (call_expression "dcgettext()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar17 = &stack0xffffff80;" (assignment_expression "puVar17 = &stack0xffffff80" identifier = (pointer_expression "&stack0xffffff80" & identifier)) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "xexit();" (call_expression "xexit()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "DAT_001c46ec = 1;" (assignment_expression "DAT_001c46ec = 1" identifier = number_literal) ;) (expression_statement "DAT_001c4728 = 0x3a;" (assignment_expression "DAT_001c4728 = 0x3a" identifier = number_literal) ;) (expression_statement "DAT_001c4734 = 0xffffffff;" (assignment_expression "DAT_001c4734 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c4738 = 0xffffffff;" (assignment_expression "DAT_001c4738 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c473c = 0xffffffff;" (assignment_expression "DAT_001c473c = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c46e4 = 1;" (assignment_expression "DAT_001c46e4 = 1" identifier = number_literal) ;) (expression_statement "DAT_001c46e0 = 1;" (assignment_expression "DAT_001c46e0 = 1" identifier = number_literal) ;) (expression_statement "DAT_001c4710 = 1;" (assignment_expression "DAT_001c4710 = 1" identifier = number_literal) ;) (expression_statement "local_4c = &DAT_001c46e0;" (assignment_expression "local_4c = &DAT_001c46e0" identifier = (pointer_expression "&DAT_001c46e0" & identifier)) ;) (expression_statement "DAT_001c45f8 = 0xffffffff;" (assignment_expression "DAT_001c45f8 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c4690 = 1;" (assignment_expression "DAT_001c4690 = 1" identifier = number_literal) ;) (expression_statement "DAT_001c4694 = 1;" (assignment_expression "DAT_001c4694 = 1" identifier = number_literal) ;) (expression_statement "DAT_001c4698 = 0xff;" (assignment_expression "DAT_001c4698 = 0xff" identifier = number_literal) ;) (expression_statement "local_44 = &DAT_001c4680;" (assignment_expression "local_44 = &DAT_001c4680" identifier = (pointer_expression "&DAT_001c4680" & identifier)) ;) (expression_statement "*(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";" (assignment_expression "*(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE"" (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (string_literal ""COLLECT_NO_DEMANGLE"" " string_content ")) ;) (expression_statement "local_3c = &DAT_001c45e0;" (assignment_expression "local_3c = &DAT_001c45e0" identifier = (pointer_expression "&DAT_001c45e0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17116;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17116" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar5 = getenv(*(char **)(puVar17 + -0x10));" (assignment_expression "pcVar5 = getenv(*(char **)(puVar17 + -0x10))" identifier = (call_expression "getenv(*(char **)(puVar17 + -0x10))" identifier (argument_list "(*(char **)(puVar17 + -0x10))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "DAT_001c4638 = 1;" (assignment_expression "DAT_001c4638 = 1" identifier = number_literal) ;) (expression_statement "DAT_001c4640 = 0xffffffff;" (assignment_expression "DAT_001c4640 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);" (assignment_expression "DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0)" identifier = (call_expression "(uint)(pcVar5 == (char *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) (expression_statement "_DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;" (assignment_expression "_DAT_001c45e0 = _DAT_001c45e0 | 0x4000400" identifier = (binary_expression "_DAT_001c45e0 | 0x4000400" identifier | number_literal)) ;) (expression_statement "DAT_001c45fc = &PTR_FUN_001c23e0;" (assignment_expression "DAT_001c45fc = &PTR_FUN_001c23e0" identifier = (pointer_expression "&PTR_FUN_001c23e0" & identifier)) ;) (expression_statement "DAT_001c4620 = &DAT_001c461c;" (assignment_expression "DAT_001c4620 = &DAT_001c461c" identifier = (pointer_expression "&DAT_001c461c" & identifier)) ;) (expression_statement "DAT_001c4630 = "_init";" (assignment_expression "DAT_001c4630 = "_init"" identifier = (string_literal ""_init"" " string_content ")) ;) (expression_statement "DAT_001c4634 = "_fini";" (assignment_expression "DAT_001c4634 = "_fini"" identifier = (string_literal ""_fini"" " string_content ")) ;) (expression_statement "DAT_001c4644 = 0xffffffff;" (assignment_expression "DAT_001c4644 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);" (assignment_expression "local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4)" identifier = (cast_expression "(FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT22(local_34._2_2_,_DAT_001c45e4)" identifier (argument_list "(local_34._2_2_,_DAT_001c45e4)" ( (field_expression "local_34._2_2_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "_DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;" (assignment_expression "_DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c" identifier = (binary_expression "_DAT_001c45e4 & 0xceb3 | 0x214c" (binary_expression "_DAT_001c45e4 & 0xceb3" identifier & number_literal) | number_literal)) ;) (expression_statement "DAT_001c4648 = 0xffffffff;" (assignment_expression "DAT_001c4648 = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_001c4650 = 5;" (assignment_expression "DAT_001c4650 = 5" identifier = number_literal) ;) (expression_statement "DAT_001c45ea = 0x3a;" (assignment_expression "DAT_001c45ea = 0x3a" identifier = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0x10) = local_40;" (assignment_expression "*(char **)(puVar17 + -0x10) = local_40" (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17190;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17190" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00035d00();" (call_expression "FUN_00035d00()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_40 = (char *)local_48[1];" (assignment_expression "local_40 = (char *)local_48[1]" identifier = (cast_expression "(char *)local_48[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_48[1]" identifier [ number_literal ]))) ;) (expression_statement "local_38 = (FILE *)*local_48;" (assignment_expression "local_38 = (FILE *)*local_48" identifier = (cast_expression "(FILE *)*local_48" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_48" * identifier))) ;) (expression_statement "*(char **)(puVar17 + -0x10) = "LDEMULATION";" (assignment_expression "*(char **)(puVar17 + -0x10) = "LDEMULATION"" (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (string_literal ""LDEMULATION"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x171ac;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x171ac" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));" (assignment_expression "local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10))" identifier = (cast_expression "(byte *)getenv(*(char **)(puVar17 + -0x10))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "getenv(*(char **)(puVar17 + -0x10))" identifier (argument_list "(*(char **)(puVar17 + -0x10))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))))) ;) (if_statement "if (local_54 == (byte *)0x0) goto LAB_00017657;" if (parenthesized_expression "(local_54 == (byte *)0x0)" ( (binary_expression "local_54 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017657;" goto statement_identifier ;)) (do_statement "do {\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );" do (compound_statement "{\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  }" { (expression_statement "bVar23 = local_38 == (FILE *)0x0;" (assignment_expression "bVar23 = local_38 == (FILE *)0x0" identifier = (binary_expression "local_38 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar24 = local_38 == (FILE *)0x1;" (assignment_expression "bVar24 = local_38 == (FILE *)0x1" identifier = (binary_expression "local_38 == (FILE *)0x1" identifier == (cast_expression "(FILE *)0x1" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "local_50 = &DAT_00080c85;" (assignment_expression "local_50 = &DAT_00080c85" identifier = (pointer_expression "&DAT_00080c85" & identifier)) ;) (expression_statement "local_58 = &DAT_00080ca6;" (assignment_expression "local_58 = &DAT_00080ca6" identifier = (pointer_expression "&DAT_00080ca6" & identifier)) ;) (expression_statement "local_64 = "-mips2";" (assignment_expression "local_64 = "-mips2"" identifier = (string_literal ""-mips2"" " string_content ")) ;) (expression_statement "pFVar6 = (FILE *)0x1;" (assignment_expression "pFVar6 = (FILE *)0x1" identifier = (cast_expression "(FILE *)0x1" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if (1 < (int)local_38) goto LAB_00017334;" if (parenthesized_expression "(1 < (int)local_38)" ( (binary_expression "1 < (int)local_38" number_literal < (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00017334;" goto statement_identifier ;)) (labeled_statement "LAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;" statement_identifier : (expression_statement "*(byte **)(puVar16 + -0x10) = local_54;" (assignment_expression "*(byte **)(puVar16 + -0x10) = local_54" (pointer_expression "*(byte **)(puVar16 + -0x10)" * (cast_expression "(byte **)(puVar16 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x171ef;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x171ef" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00033bc0();" (call_expression "FUN_00033bc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar11 = local_48;" (assignment_expression "piVar11 = local_48" identifier = identifier) ;) (expression_statement "*(int *)(puVar16 + -0xc) = local_48[1];" (assignment_expression "*(int *)(puVar16 + -0xc) = local_48[1]" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (subscript_expression "local_48[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar16 + -0x10) = *piVar11;" (assignment_expression "*(int *)(puVar16 + -0x10) = *piVar11" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x171fe;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x171fe" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_001c4754 = FUN_000338a0();" (assignment_expression "DAT_001c4754 = FUN_000338a0()" identifier = (call_expression "FUN_000338a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1720b;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1720b" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000258a0();" (call_expression "FUN_000258a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17210;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17210" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000334e0();" (call_expression "FUN_000334e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17215;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17215" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000335f0();" (call_expression "FUN_000335f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_001c3850 = 0;" (assignment_expression "DAT_001c3850 = 0" identifier = number_literal) ;) (expression_statement "puVar22 = *(undefined4 **)(puVar16 + -0xc);" (assignment_expression "puVar22 = *(undefined4 **)(puVar16 + -0xc)" identifier = (pointer_expression "*(undefined4 **)(puVar16 + -0xc)" * (cast_expression "(undefined4 **)(puVar16 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar16 + -0xc) = piVar11[1];" (assignment_expression "*(int *)(puVar16 + -0xc) = piVar11[1]" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (subscript_expression "piVar11[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar16 + -0x10) = *piVar11;" (assignment_expression "*(int *)(puVar16 + -0x10) = *piVar11" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "local_38 = (FILE *)&DAT_001c3850;" (assignment_expression "local_38 = (FILE *)&DAT_001c3850" identifier = (cast_expression "(FILE *)&DAT_001c3850" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_001c3850" & identifier))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17230;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17230" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001d500();" (call_expression "FUN_0001d500()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }" if (parenthesized_expression "(local_4c[0x18] != 0)" ( (binary_expression "local_4c[0x18] != 0" (subscript_expression "local_4c[0x18]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = local_4c[0x18]" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_4c[0x18]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17940;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17940" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_hash_set_default_size();" (call_expression "bfd_hash_set_default_size()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17246;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17246" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00038400();" (call_expression "FUN_00038400()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1724b;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1724b" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000336d0();" (call_expression "FUN_000336d0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }" if (parenthesized_expression "(DAT_001c39d8 == 0)" ( (binary_expression "DAT_001c39d8 == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }" { (if_statement "if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }" if (parenthesized_expression "(local_44[0x16] != 0)" ( (binary_expression "local_44[0x16] != 0" (subscript_expression "local_44[0x16]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }" { (expression_statement "*(undefined4 *)(puVar16 + -0x10) = local_44[0x16];" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = local_44[0x16]" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_44[0x16]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1795f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1795f" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00035ce0();" (call_expression "FUN_00035ce0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar11 = &DAT_001c4568;" (assignment_expression "piVar11 = &DAT_001c4568" identifier = (pointer_expression "&DAT_001c4568" & identifier)) ;) (expression_statement "DAT_001c4568 = 1;" (assignment_expression "DAT_001c4568 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17970;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17970" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00017f60();" (call_expression "FUN_00017f60()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_001c39d8 != 0) goto LAB_00017258;" if (parenthesized_expression "(DAT_001c39d8 != 0)" ( (binary_expression "DAT_001c39d8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017258;" goto statement_identifier ;)) })) (expression_statement "piVar11 = &DAT_001c4568;" (assignment_expression "piVar11 = &DAT_001c4568" identifier = (pointer_expression "&DAT_001c4568" & identifier)) ;) (expression_statement "*(int **)(puVar16 + -0x10) = local_24;" (assignment_expression "*(int **)(puVar16 + -0x10) = local_24" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1798c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1798c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar6 = (FILE *)FUN_00033730();" (assignment_expression "pFVar6 = (FILE *)FUN_00033730()" identifier = (cast_expression "(FILE *)FUN_00033730()" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00033730()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }" if (parenthesized_expression "(local_24[0] == 0)" ( (binary_expression "local_24[0] == 0" (subscript_expression "local_24[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }" { (expression_statement "local_34 = pFVar6;" (assignment_expression "local_34 = pFVar6" identifier = identifier) ;) (expression_statement "*(FILE **)(puVar16 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "built in linker script";" (assignment_expression "*(char **)(puVar16 + -0xc) = "built in linker script"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""built in linker script"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x179b5;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x179b5" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "DAT_001c36a0 = pFVar6;" (assignment_expression "DAT_001c36a0 = pFVar6" identifier = identifier) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "pFVar6 = local_34;" (assignment_expression "pFVar6 = local_34" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(FILE **)(puVar16 + -0x10) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x179c4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x179c4" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001d090();" (call_expression "FUN_0001d090()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }" else (compound_statement "{\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }" { (expression_statement "*(FILE **)(puVar16 + -0x10) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b37;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b37" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00035cf0();" (call_expression "FUN_00035cf0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "puVar22 = &DAT_001c36a0;" (assignment_expression "puVar22 = &DAT_001c36a0" identifier = (pointer_expression "&DAT_001c36a0" & identifier)) ;) (expression_statement "DAT_001c4568 = 1;" (assignment_expression "DAT_001c4568 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x179d2;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x179d2" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00017f60();" (call_expression "FUN_00017f60()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_001c36a0 = (FILE *)0x0;" (assignment_expression "DAT_001c36a0 = (FILE *)0x0" identifier = (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }" if (parenthesized_expression "(DAT_001c475c != 0)" ( (binary_expression "DAT_001c475c != 0" identifier != number_literal) )) (compound_statement "{\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }" { (if_statement "if (DAT_001c39d8 != 0) goto LAB_00017845;" if (parenthesized_expression "(DAT_001c39d8 != 0)" ( (binary_expression "DAT_001c39d8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017845;" goto statement_identifier ;)) (expression_statement "pcVar5 = "using internal linker script:";" (assignment_expression "pcVar5 = "using internal linker script:"" identifier = (string_literal ""using internal linker script:"" " string_content ")) ;) (expression_statement "*(undefined4 **)(puVar16 + -4) = &DAT_001c4568;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = &DAT_001c4568" (pointer_expression "*(undefined4 **)(puVar16 + -4)" * (cast_expression "(undefined4 **)(puVar16 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = (pointer_expression "&DAT_001c4568" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001784e;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }" else (compound_statement "{\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }" { (labeled_statement "LAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }" statement_identifier : (if_statement "if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }" if (parenthesized_expression "(DAT_001c475c != 0)" ( (binary_expression "DAT_001c475c != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }" { (labeled_statement "LAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;" statement_identifier : (expression_statement "*(undefined4 **)(puVar16 + -4) = puVar22;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = puVar22" (pointer_expression "*(undefined4 **)(puVar16 + -4)" * (cast_expression "(undefined4 **)(puVar16 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "pcVar5 = "using external linker script:";" (assignment_expression "pcVar5 = "using external linker script:"" identifier = (string_literal ""using external linker script:"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;" statement_identifier : (expression_statement "*(char **)(puVar16 + -0xc) = pcVar5;" (assignment_expression "*(char **)(puVar16 + -0xc) = pcVar5" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17856;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17856" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1785e;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1785e" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_34 = (FILE *)0x8076c;" (assignment_expression "local_34 = (FILE *)0x8076c" identifier = (cast_expression "(FILE *)0x8076c" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(char **)(puVar16 + -0x10) = "\n==================================================\n";" (assignment_expression "*(char **)(puVar16 + -0x10) = "\n==================================================\n"" (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (string_literal ""\n==================================================\n"" " escape_sequence string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17873;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17873" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }" if (parenthesized_expression "(DAT_001c39d8 == 0)" ( (binary_expression "DAT_001c39d8 == 0" identifier == number_literal) )) (compound_statement "{\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }" { (expression_statement "*(int **)(puVar16 + -0x10) = local_24;" (assignment_expression "*(int **)(puVar16 + -0x10) = local_24" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a32;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a32" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = FUN_00033730();" (assignment_expression "uVar7 = FUN_00033730()" identifier = (call_expression "FUN_00033730()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a3a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a3a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }" else (compound_statement "{\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }" { (expression_statement "puVar22 = (undefined4 *)&DAT_0007ee86;" (assignment_expression "puVar22 = (undefined4 *)&DAT_0007ee86" identifier = (cast_expression "(undefined4 *)&DAT_0007ee86" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0007ee86" & identifier))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0x2001;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0x2001" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17896;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17896" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar11 = (int *)xmalloc();" (assignment_expression "piVar11 = (int *)xmalloc()" identifier = (cast_expression "(int *)xmalloc()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(int *)(puVar16 + -0x10) = DAT_001c39d8;" (assignment_expression "*(int *)(puVar16 + -0x10) = DAT_001c39d8" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178a4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178a4" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "rewind(*(FILE **)(puVar16 + -0x10));" (call_expression "rewind(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) (while_statement "while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }" { (expression_statement "*(int *)(puVar16 + -4) = DAT_001c39d8;" (assignment_expression "*(int *)(puVar16 + -4) = DAT_001c39d8" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 0x2000;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 0x2000" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar11;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar11" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178d4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178d4" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));" (assignment_expression "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier = (call_expression "fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier (argument_list "(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -0xc)" * (cast_expression "(size_t *)(puVar16 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -8)" * (cast_expression "(size_t *)(puVar16 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar4 == 0) break;" if (parenthesized_expression "(sVar4 == 0)" ( (binary_expression "sVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(undefined1 *)((int)piVar11 + sVar4) = 0;" (assignment_expression "*(undefined1 *)((int)piVar11 + sVar4) = 0" (pointer_expression "*(undefined1 *)((int)piVar11 + sVar4)" * (cast_expression "(undefined1 *)((int)piVar11 + sVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + sVar4)" ( (binary_expression "(int)piVar11 + sVar4" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(int **)(puVar16 + -0xc) = piVar11;" (assignment_expression "*(int **)(puVar16 + -0xc) = piVar11" (pointer_expression "*(int **)(puVar16 + -0xc)" * (cast_expression "(int **)(puVar16 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = &DAT_0007ee86" (pointer_expression "*(undefined **)(puVar16 + -0x10)" * (cast_expression "(undefined **)(puVar16 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_0007ee86" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178be;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178be" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar16 + -0x10) = DAT_001c39d8;" (assignment_expression "*(int *)(puVar16 + -0x10) = DAT_001c39d8" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178e9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178e9" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "rewind(*(FILE **)(puVar16 + -0x10));" (call_expression "rewind(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar11;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar11" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178f1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178f1" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar16 + -0x10));" (call_expression "free(*(void **)(puVar16 + -0x10))" identifier (argument_list "(*(void **)(puVar16 + -0x10))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) }))) (expression_statement "*(FILE **)(puVar16 + -0x10) = local_34;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = local_34" (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178ff;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178ff" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) }))) }))) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (if_statement "if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }" if (parenthesized_expression "(local_44[0xb] == 0)" ( (binary_expression "local_44[0xb] == 0" (subscript_expression "local_44[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }" { (expression_statement "local_34 = (FILE *)((uint)local_34 & 0xffffff00);" (assignment_expression "local_34 = (FILE *)((uint)local_34 & 0xffffff00)" identifier = (cast_expression "(FILE *)((uint)local_34 & 0xffffff00)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_34 & 0xffffff00)" ( (binary_expression "(uint)local_34 & 0xffffff00" (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar14 = (uint)((*local_3c & 3) != 2);" (assignment_expression "uVar14 = (uint)((*local_3c & 3) != 2)" identifier = (call_expression "(uint)((*local_3c & 3) != 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*local_3c & 3) != 2)" ( (binary_expression "(*local_3c & 3) != 2" (parenthesized_expression "(*local_3c & 3)" ( (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" * identifier) & number_literal) )) != number_literal) )))) ;) })) (expression_statement "local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);" (assignment_expression "local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1])" identifier = (cast_expression "(FILE *)CONCAT31(local_34._1_3_,local_3c[1])" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_34._1_3_,local_3c[1])" identifier (argument_list "(local_34._1_3_,local_3c[1])" ( (field_expression "local_34._1_3_" identifier . field_identifier) , (subscript_expression "local_3c[1]" identifier [ number_literal ]) ))))) ;) (expression_statement "local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);" (assignment_expression "local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4)" (subscript_expression "local_3c[1]" identifier [ number_literal ]) = (binary_expression "local_3c[1] & 0xef | (byte)(uVar14 << 4)" (binary_expression "local_3c[1] & 0xef" (subscript_expression "local_3c[1]" identifier [ number_literal ]) & number_literal) | (call_expression "(byte)(uVar14 << 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar14 << 4)" ( (binary_expression "uVar14 << 4" identifier << number_literal) ))))) ;) (if_statement "if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }" if (parenthesized_expression "(local_44[9] != 0)" ( (binary_expression "local_44[9] != 0" (subscript_expression "local_44[9]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17920;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17920" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar26 = FUN_00026cc0();" (assignment_expression "uVar26 = FUN_00026cc0()" identifier = (call_expression "FUN_00026cc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);" (assignment_expression "*(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20)" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = (cast_expression "(int)((ulonglong)uVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar26 >> 0x20)" ( (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined8 *)(puVar16 + -0xc) = uVar26;" (assignment_expression "*(undefined8 *)(puVar16 + -0xc) = uVar26" (pointer_expression "*(undefined8 *)(puVar16 + -0xc)" * (cast_expression "(undefined8 *)(puVar16 + -0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0x10) = &DAT_000814fd;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = &DAT_000814fd" (pointer_expression "*(undefined **)(puVar16 + -0x10)" * (cast_expression "(undefined **)(puVar16 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "&DAT_000814fd" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1792f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1792f" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x172ad;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x172ad" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000289a0();" (call_expression "FUN_000289a0()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;" if (parenthesized_expression "((*local_48 == 2) && (DAT_001c45c0 != 0))" ( (binary_expression "(*local_48 == 2) && (DAT_001c45c0 != 0)" (parenthesized_expression "(*local_48 == 2)" ( (binary_expression "*local_48 == 2" (pointer_expression "*local_48" * identifier) == number_literal) )) && (parenthesized_expression "(DAT_001c45c0 != 0)" ( (binary_expression "DAT_001c45c0 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_000172f3;" goto statement_identifier ;)) (if_statement "if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }" if (parenthesized_expression "((local_3c[7] & 0x20) != 0)" ( (binary_expression "(local_3c[7] & 0x20) != 0" (parenthesized_expression "(local_3c[7] & 0x20)" ( (binary_expression "local_3c[7] & 0x20" (subscript_expression "local_3c[7]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }" { (expression_statement "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);" (assignment_expression "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c)" identifier = (cast_expression "(FILE *)CONCAT31(local_34._1_3_,*local_3c)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_34._1_3_,*local_3c)" identifier (argument_list "(local_34._1_3_,*local_3c)" ( (field_expression "local_34._1_3_" identifier . field_identifier) , (pointer_expression "*local_3c" * identifier) ))))) ;) (if_statement "if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }" if (parenthesized_expression "((*local_3c & 3) != 3)" ( (binary_expression "(*local_3c & 3) != 3" (parenthesized_expression "(*local_3c & 3)" ( (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }" { (expression_statement "*(undefined4 **)(puVar16 + -4) = puVar22;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = puVar22" (pointer_expression "*(undefined4 **)(puVar16 + -4)" * (cast_expression "(undefined4 **)(puVar16 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: --no-define-common may not be used without -shared\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17680;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17680" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17688;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17688" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "pFVar6 = local_38;" (assignment_expression "pFVar6 = local_38" identifier = identifier) ;) (if_statement "if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }" if (parenthesized_expression "(local_38->_flags == 0)" ( (binary_expression "local_38->_flags == 0" (field_expression "local_38->_flags" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }" { (if_statement "if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;" if (parenthesized_expression "(DAT_001c45c0 != 0 || local_44[9] != 0)" ( (binary_expression "DAT_001c45c0 != 0 || local_44[9] != 0" (binary_expression "DAT_001c45c0 != 0" identifier != number_literal) || (binary_expression "local_44[9] != 0" (subscript_expression "local_44[9]" identifier [ number_literal ]) != number_literal)) )) (goto_statement "goto LAB_000172f3;" goto statement_identifier ;)) (expression_statement "*(int **)(puVar16 + -4) = piVar11;" (assignment_expression "*(int **)(puVar16 + -4) = piVar11" (pointer_expression "*(int **)(puVar16 + -4)" * (cast_expression "(int **)(puVar16 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: no input files\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: no input files\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: no input files\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1751c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1751c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17524;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17524" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar6 = (FILE *)FUN_00034dc0();" (assignment_expression "pFVar6 = (FILE *)FUN_00034dc0()" identifier = (cast_expression "(FILE *)FUN_00034dc0()" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))))) ;) })) (if_statement "if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }" if (parenthesized_expression "(DAT_001c4768 != 0)" ( (binary_expression "DAT_001c4768 != 0" identifier != number_literal) )) (compound_statement "{\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }" { (expression_statement "*(FILE **)(puVar16 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%P: mode %s\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%P: mode %s\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%P: mode %s\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x176aa;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x176aa" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(byte **)(puVar16 + -0xc) = local_54;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_54" (pointer_expression "*(byte **)(puVar16 + -0xc)" * (cast_expression "(byte **)(puVar16 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x176b5;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x176b5" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1753b;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1753b" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000335d0();" (call_expression "FUN_000335d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar22 = local_4c;" (assignment_expression "puVar22 = local_4c" identifier = identifier) ;) (expression_statement "iVar13 = local_4c[0x13];" (assignment_expression "iVar13 = local_4c[0x13]" identifier = (subscript_expression "local_4c[0x13]" identifier [ number_literal ])) ;) (if_statement "if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }" { (expression_statement "*(undefined4 **)(puVar16 + -4) = local_4c;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = local_4c" (pointer_expression "*(undefined4 **)(puVar16 + -4)" * (cast_expression "(undefined4 **)(puVar16 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar16 + -8) = puVar22;" (assignment_expression "*(undefined4 **)(puVar16 + -8) = puVar22" (pointer_expression "*(undefined4 **)(puVar16 + -8)" * (cast_expression "(undefined4 **)(puVar16 + -8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_000700e6;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_000700e6" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_000700e6" & identifier)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17554;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17554" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }" { (expression_statement "local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;" (assignment_expression "local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc" (subscript_expression "local_4c[0x14]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)PTR_stdout_001c1fdc" * (cast_expression "(undefined4 *)PTR_stdout_001c1fdc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }" else (compound_statement "{\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }" { (expression_statement "*(int *)(puVar16 + -4) = iVar8;" (assignment_expression "*(int *)(puVar16 + -4) = iVar8" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -8) = iVar8;" (assignment_expression "*(int *)(puVar16 + -8) = iVar8" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "w";" (assignment_expression "*(char **)(puVar16 + -0xc) = "w"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""w"" " string_content ")) ;) (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a5c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "local_4c[0x14] = pFVar6;" (assignment_expression "local_4c[0x14] = pFVar6" (subscript_expression "local_4c[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }" if (parenthesized_expression "(pFVar6 == (FILE *)0x0)" ( (binary_expression "pFVar6 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }" { (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a77;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a77" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bfd_set_error();" (call_expression "bfd_set_error()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar7 = local_4c[0x13];" (assignment_expression "uVar7 = local_4c[0x13]" identifier = (subscript_expression "local_4c[0x13]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: cannot open map file %s: %E\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a90;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a90" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a99;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a99" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) }))) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17572;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17572" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0002aa30();" (call_expression "FUN_0002aa30()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);" (assignment_expression "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c)" identifier = (cast_expression "(FILE *)CONCAT31(local_34._1_3_,*local_3c)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_34._1_3_,*local_3c)" identifier (argument_list "(local_34._1_3_,*local_3c)" ( (field_expression "local_34._1_3_" identifier . field_identifier) , (pointer_expression "*local_3c" * identifier) ))))) ;) (if_statement "if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }" if (parenthesized_expression "((*local_3c & 3) == 2)" ( (binary_expression "(*local_3c & 3) == 2" (parenthesized_expression "(*local_3c & 3)" ( (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }" { (expression_statement "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);" (assignment_expression "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28)" identifier = (cast_expression "(uint *)(*(int *)(local_3c + 0x34) + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_3c + 0x34) + 0x28)" ( (binary_expression "*(int *)(local_3c + 0x34) + 0x28" (pointer_expression "*(int *)(local_3c + 0x34)" * (cast_expression "(int *)(local_3c + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0x34)" ( (binary_expression "local_3c + 0x34" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 & 0xffffffbf;" (assignment_expression "*puVar1 = *puVar1 & 0xffffffbf" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xffffffbf" (pointer_expression "*puVar1" * identifier) & number_literal)) ;) }) (else_clause "else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }" else (compound_statement "{\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }" { (expression_statement "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);" (assignment_expression "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28)" identifier = (cast_expression "(uint *)(*(int *)(local_3c + 0x34) + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_3c + 0x34) + 0x28)" ( (binary_expression "*(int *)(local_3c + 0x34) + 0x28" (pointer_expression "*(int *)(local_3c + 0x34)" * (cast_expression "(int *)(local_3c + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0x34)" ( (binary_expression "local_3c + 0x34" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 | 0x40;" (assignment_expression "*puVar1 = *puVar1 | 0x40" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 0x40" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) }))) (if_statement "if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }" if (parenthesized_expression "((*(uint *)(local_3c + 0xc) & 1) != 0)" ( (binary_expression "(*(uint *)(local_3c + 0xc) & 1) != 0" (parenthesized_expression "(*(uint *)(local_3c + 0xc) & 1)" ( (binary_expression "*(uint *)(local_3c + 0xc) & 1" (pointer_expression "*(uint *)(local_3c + 0xc)" * (cast_expression "(uint *)(local_3c + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0xc)" ( (binary_expression "local_3c + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }" { (expression_statement "local_34 = *(FILE **)(local_3c + 0x34);" (assignment_expression "local_34 = *(FILE **)(local_3c + 0x34)" identifier = (pointer_expression "*(FILE **)(local_3c + 0x34)" * (cast_expression "(FILE **)(local_3c + 0x34)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_3c + 0x34)" ( (binary_expression "local_3c + 0x34" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;" (assignment_expression "uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff" identifier = (binary_expression "(uint)local_34->_IO_backup_base >> 5 & 0xfffff" (binary_expression "(uint)local_34->_IO_backup_base >> 5" (cast_expression "(uint)local_34->_IO_backup_base" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_34->_IO_backup_base" identifier -> field_identifier)) >> number_literal) & number_literal)) ;) (expression_statement "uVar14 = uVar15 | 0x24000;" (assignment_expression "uVar14 = uVar15 | 0x24000" identifier = (binary_expression "uVar15 | 0x24000" identifier | number_literal)) ;) (if_statement "if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }" if (parenthesized_expression "(*(uint *)(local_3c + 0xc) != 5)" ( (binary_expression "*(uint *)(local_3c + 0xc) != 5" (pointer_expression "*(uint *)(local_3c + 0xc)" * (cast_expression "(uint *)(local_3c + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0xc)" ( (binary_expression "local_3c + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar14 = uVar15 | 0x4000;\n      }" { (expression_statement "uVar14 = uVar15 | 0x4000;" (assignment_expression "uVar14 = uVar15 | 0x4000" identifier = (binary_expression "uVar15 | 0x4000" identifier | number_literal)) ;) })) (expression_statement "local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);" (assignment_expression "local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f)" (field_expression "local_34->_IO_backup_base" identifier -> field_identifier) = (cast_expression "(char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f)" ( (binary_expression "uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f" (binary_expression "uVar14 << 5" identifier << number_literal) | (binary_expression "(uint)local_34->_IO_backup_base & 0xfe00001f" (cast_expression "(uint)local_34->_IO_backup_base" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_34->_IO_backup_base" identifier -> field_identifier)) & number_literal)) )))) ;) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x175dd;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x175dd" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00030220();" (call_expression "FUN_00030220()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar22 = local_4c;" (assignment_expression "puVar22 = local_4c" identifier = identifier) ;) (if_statement "if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }" if (parenthesized_expression "(local_4c[0x14] == 0)" ( (binary_expression "local_4c[0x14] == 0" (subscript_expression "local_4c[0x14]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }" { (if_statement "if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }" if (parenthesized_expression "(local_44[3] != 0)" ( (binary_expression "local_44[3] != 0" (subscript_expression "local_44[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }" { (labeled_statement "LAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;" statement_identifier : (expression_statement "iVar13 = *(int *)PTR_stdout_001c1fdc;" (assignment_expression "iVar13 = *(int *)PTR_stdout_001c1fdc" identifier = (pointer_expression "*(int *)PTR_stdout_001c1fdc" * (cast_expression "(int *)PTR_stdout_001c1fdc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (goto_statement "goto LAB_00017603;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x175ef;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x175ef" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00026210();" (call_expression "FUN_00026210()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }" if (parenthesized_expression "(local_44[3] != 0)" ( (binary_expression "local_44[3] != 0" (subscript_expression "local_44[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }" { (expression_statement "iVar13 = puVar22[0x14];" (assignment_expression "iVar13 = puVar22[0x14]" identifier = (subscript_expression "puVar22[0x14]" identifier [ number_literal ])) ;) (if_statement "if (iVar13 == 0) goto LAB_00017a0f;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00017a0f;" goto statement_identifier ;)) (labeled_statement "LAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;" statement_identifier : (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1760c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1760c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00036a30();" (call_expression "FUN_00036a30()" identifier (argument_list "()" ( ))) ;) })) }))) (if_statement "if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }" if (parenthesized_expression "(DAT_001c4574 != 0)" ( (binary_expression "DAT_001c4574 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1761f;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1761f" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00036e50();" (call_expression "FUN_00036e50()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }" if (parenthesized_expression "(local_44[10] != 0)" ( (binary_expression "local_44[10] != 0" (subscript_expression "local_44[10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17a21;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17a21" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0002d150();" (call_expression "FUN_0002d150()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17631;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17631" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00033570();" (call_expression "FUN_00033570()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17636;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17636" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00024010();" (call_expression "FUN_00024010()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar2 = PTR_s_a_out_001c241c;" (assignment_expression "puVar2 = PTR_s_a_out_001c241c" identifier = identifier) ;) (if_statement "if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }" if (parenthesized_expression "(local_4c[1] != 0 || DAT_001c39d0 != 0)" ( (binary_expression "local_4c[1] != 0 || DAT_001c39d0 != 0" (binary_expression "local_4c[1] != 0" (subscript_expression "local_4c[1]" identifier [ number_literal ]) != number_literal) || (binary_expression "DAT_001c39d0 != 0" identifier != number_literal)) )) (compound_statement "{\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }" { (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34)" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(local_3c + 0x34)" * (cast_expression "(undefined4 *)(local_3c + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0x34)" ( (binary_expression "local_3c + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x176cb;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x176cb" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = bfd_close();" (assignment_expression "iVar13 = bfd_close()" identifier = (call_expression "bfd_close()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }" { (expression_statement "uVar7 = *(undefined4 *)(local_3c + 0x34);" (assignment_expression "uVar7 = *(undefined4 *)(local_3c + 0x34)" identifier = (pointer_expression "*(undefined4 *)(local_3c + 0x34)" * (cast_expression "(undefined4 *)(local_3c + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + 0x34)" ( (binary_expression "local_3c + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar16 + -4) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -4) = local_3c" (pointer_expression "*(byte **)(puVar16 + -4)" * (cast_expression "(byte **)(puVar16 + -4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: %pB: final close failed: %E\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b1d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b1d" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b26;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b26" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }" if (parenthesized_expression "(((*local_3c & 3) != 2) && (local_44[2] != 0))" ( (binary_expression "((*local_3c & 3) != 2) && (local_44[2] != 0)" (parenthesized_expression "((*local_3c & 3) != 2)" ( (binary_expression "(*local_3c & 3) != 2" (parenthesized_expression "(*local_3c & 3)" ( (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" * identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(local_44[2] != 0)" ( (binary_expression "local_44[2] != 0" (subscript_expression "local_44[2]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }" { (expression_statement "uVar14 = 0xffffffff;" (assignment_expression "uVar14 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcVar5 = PTR_s_a_out_001c241c;" (assignment_expression "pcVar5 = PTR_s_a_out_001c241c" identifier = identifier) ;) (do_statement "do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');" do (compound_statement "{\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        }" { (if_statement "if (uVar14 == 0) break;" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar14 = uVar14 - 1;" (assignment_expression "uVar14 = uVar14 - 1" identifier = (binary_expression "uVar14 - 1" identifier - number_literal)) ;) (expression_statement "cVar3 = *pcVar5;" (assignment_expression "cVar3 = *pcVar5" identifier = (pointer_expression "*pcVar5" * identifier)) ;) (expression_statement "pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;" (assignment_expression "pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pcVar5 + (uint)bVar25 * -2 + 1" (binary_expression "pcVar5 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "uVar14 = ~uVar14;" (assignment_expression "uVar14 = ~uVar14" identifier = (unary_expression "~uVar14" ~ identifier)) ;) (if_statement "if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }" if (parenthesized_expression "(uVar14 - 1 < 4)" ( (binary_expression "uVar14 - 1 < 4" (binary_expression "uVar14 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }" { (labeled_statement "LAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;" statement_identifier : (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0x1000;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0x1000" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17755;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17755" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = xmalloc();" (assignment_expression "uVar7 = xmalloc()" identifier = (call_expression "xmalloc()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar16 + -0x10) = uVar14 + 4;" (assignment_expression "*(uint *)(puVar16 + -0x10) = uVar14 + 4" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "uVar14 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1775f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1775f" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar9 = (byte *)xmalloc();" (assignment_expression "pbVar9 = (byte *)xmalloc()" identifier = (cast_expression "(byte *)xmalloc()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar2 = PTR_s_a_out_001c241c;" (assignment_expression "puVar2 = PTR_s_a_out_001c241c" identifier = identifier) ;) (expression_statement "local_3c = pbVar9;" (assignment_expression "local_3c = pbVar9" identifier = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar16 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar16 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar16 + -0x10)" * (cast_expression "(byte **)(puVar16 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17771;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17771" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "builtin_strncpy(pcVar5,".exe",5);" (call_expression "builtin_strncpy(pcVar5,".exe",5)" identifier (argument_list "(pcVar5,".exe",5)" ( identifier , (string_literal "".exe"" " string_content ") , number_literal ))) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_0007dadc" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007dadc" & identifier)) ;) (expression_statement "*(undefined **)(puVar16 + -0x10) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0x10)" * (cast_expression "(undefined **)(puVar16 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1778a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1778a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "local_34 = pFVar6;" (assignment_expression "local_34 = pFVar6" identifier = identifier) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "w";" (assignment_expression "*(char **)(puVar16 + -0xc) = "w"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""w"" " string_content ")) ;) (expression_statement "*(byte **)(puVar16 + -0x10) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0x10) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0x10)" * (cast_expression "(byte **)(puVar16 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177a0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177a0" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }" if (parenthesized_expression "(pFVar6 == (FILE *)0x0)" ( (binary_expression "pFVar6 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: unable to open for source of copy `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_40 = PTR_s_a_out_001c241c;" (assignment_expression "local_40 = PTR_s_a_out_001c241c" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bef;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bef" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)(puVar16 + -0xc) = local_40;" (assignment_expression "*(char **)(puVar16 + -0xc) = local_40" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bfb;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bfb" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }" if (parenthesized_expression "(local_38 == (FILE *)0x0)" ( (binary_expression "local_38 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }" { (expression_statement "*(FILE **)(puVar16 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: unable to open for destination of copy `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bc2;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bc2" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(byte **)(puVar16 + -0xc) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0xc)" * (cast_expression "(byte **)(puVar16 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bcd;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bcd" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_40 = "%P: error writing file `%s\'\n";" (assignment_expression "local_40 = "%P: error writing file `%s\'\n"" identifier = (string_literal ""%P: error writing file `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (while_statement "while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }" { (expression_statement "*(FILE **)(puVar16 + -4) = local_34;" (assignment_expression "*(FILE **)(puVar16 + -4) = local_34" (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 0x1000;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 0x1000" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177ea;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177ea" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));" (assignment_expression "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier = (call_expression "fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier (argument_list "(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -0xc)" * (cast_expression "(size_t *)(puVar16 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -8)" * (cast_expression "(size_t *)(puVar16 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if ((int)sVar4 < 1) break;" if (parenthesized_expression "((int)sVar4 < 1)" ( (binary_expression "(int)sVar4 < 1" (cast_expression "(int)sVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(FILE **)(puVar16 + -4) = local_38;" (assignment_expression "*(FILE **)(puVar16 + -4) = local_38" (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)(puVar16 + -8) = sVar4;" (assignment_expression "*(size_t *)(puVar16 + -8) = sVar4" (pointer_expression "*(size_t *)(puVar16 + -8)" * (cast_expression "(size_t *)(puVar16 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177cf;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177cf" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));" (assignment_expression "sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier = (call_expression "fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" identifier (argument_list "(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -0xc)" * (cast_expression "(size_t *)(puVar16 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar16 + -8)" * (cast_expression "(size_t *)(puVar16 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar16 + -4)" * (cast_expression "(FILE **)(puVar16 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }" if (parenthesized_expression "(sVar4 != sVar10)" ( (binary_expression "sVar4 != sVar10" identifier != identifier) )) (compound_statement "{\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }" { (expression_statement "*(size_t *)(puVar16 + -4) = sVar10;" (assignment_expression "*(size_t *)(puVar16 + -4) = sVar10" (pointer_expression "*(size_t *)(puVar16 + -4)" * (cast_expression "(size_t *)(puVar16 + -4)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = local_40;" (assignment_expression "*(char **)(puVar16 + -0xc) = local_40" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b7a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b7a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(byte **)(puVar16 + -0xc) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0xc)" * (cast_expression "(byte **)(puVar16 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b85;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b85" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "*(FILE **)(puVar16 + -0x10) = local_34;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = local_34" (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177fe;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177fe" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fclose(*(FILE **)(puVar16 + -0x10));" (call_expression "fclose(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(FILE **)(puVar16 + -0x10) = local_38;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = local_38" (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17807;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17807" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = fclose(*(FILE **)(puVar16 + -0x10));" (assignment_expression "iVar13 = fclose(*(FILE **)(puVar16 + -0x10))" identifier = (call_expression "fclose(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }" if (parenthesized_expression "(iVar13 == -1)" ( (binary_expression "iVar13 == -1" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%P: error closing file `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b9e;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b9e" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(byte **)(puVar16 + -0xc) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0xc)" * (cast_expression "(byte **)(puVar16 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17ba9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17ba9" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(byte **)(puVar16 + -0x10) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0x10) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0x10)" * (cast_expression "(byte **)(puVar16 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1781e;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1781e" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar16 + -0x10));" (call_expression "free(*(void **)(puVar16 + -0x10))" identifier (argument_list "(*(void **)(puVar16 + -0x10))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17826;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17826" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar16 + -0x10));" (call_expression "free(*(void **)(puVar16 + -0x10))" identifier (argument_list "(*(void **)(puVar16 + -0x10))" ( (pointer_expression "*(void **)(puVar16 + -0x10)" * (cast_expression "(void **)(puVar16 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }" else (compound_statement "{\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }" { (expression_statement "puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);" (assignment_expression "puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5)" identifier = (binary_expression "PTR_s_a_out_001c241c + (uVar14 - 5)" identifier + (parenthesized_expression "(uVar14 - 5)" ( (binary_expression "uVar14 - 5" identifier - number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_00080d7d" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_00080d7d" & identifier)) ;) (expression_statement "*(undefined **)(puVar16 + -0x10) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0x10)" * (cast_expression "(undefined **)(puVar16 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17720;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17720" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }" { (expression_statement "*(int *)(puVar16 + -4) = iVar13;" (assignment_expression "*(int *)(puVar16 + -4) = iVar13" (pointer_expression "*(int *)(puVar16 + -4)" * (cast_expression "(int *)(puVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -8) = iVar13;" (assignment_expression "*(int *)(puVar16 + -8) = iVar13" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_00080d82;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_00080d82" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_00080d82" & identifier)) ;) (expression_statement "*(undefined **)(puVar16 + -0x10) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0x10)" * (cast_expression "(undefined **)(puVar16 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1773a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1773a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier = (call_expression "strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" identifier (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" ( (pointer_expression "*(char **)(puVar16 + -0x10)" * (cast_expression "(char **)(puVar16 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) goto LAB_00017745;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017745;" goto statement_identifier ;)) })) }))) })) (if_statement "if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }" if (parenthesized_expression "(local_4c[0xd] != 0)" ( (binary_expression "local_4c[0xd] != 0" (subscript_expression "local_4c[0xd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17aa6;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17aa6" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = FUN_0006f170();" (assignment_expression "iVar13 = FUN_0006f170()" identifier = (call_expression "FUN_0006f170()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_34 = (FILE *)(iVar13 - local_5c);" (assignment_expression "local_34 = (FILE *)(iVar13 - local_5c)" identifier = (cast_expression "(FILE *)(iVar13 - local_5c)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 - local_5c)" ( (binary_expression "iVar13 - local_5c" identifier - identifier) )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stdout_001c1fdc" * (cast_expression "(undefined4 *)PTR_stdout_001c1fdc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17ac1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17ac1" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar16 + -0x10));" (call_expression "fflush(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar7 = *local_60;" (assignment_expression "uVar7 = *local_60" identifier = (pointer_expression "*local_60" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: total time in link: %ld.%06ld\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17ad9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17ad9" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar2 = PTR_stderr_001c1fa8;" (assignment_expression "puVar2 = PTR_stderr_001c1fa8" identifier = identifier) ;) (expression_statement "iVar13 = (int)local_34 / 1000000;" (assignment_expression "iVar13 = (int)local_34 / 1000000" identifier = (binary_expression "(int)local_34 / 1000000" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_34 % 1000000" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_34 % 1000000" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal)) ;) (expression_statement "*(int *)(puVar16 + -0x14) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x14) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x14)" * (cast_expression "(int *)(puVar16 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x18) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x18) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x18)" * (cast_expression "(undefined4 *)(puVar16 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x1c)" * (cast_expression "(undefined4 *)(puVar16 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8" (pointer_expression "*(undefined4 *)(puVar16 + -0x20)" * (cast_expression "(undefined4 *)(puVar16 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stderr_001c1fa8" * (cast_expression "(undefined4 *)PTR_stderr_001c1fa8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x17af4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x17af4" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" * (cast_expression "(undefined4 *)(puVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x24)" ( (binary_expression "puVar16 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));" (call_expression "fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c))" identifier (argument_list "(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c))" ( (pointer_expression "*(FILE **)(puVar16 + -0x20)" * (cast_expression "(FILE **)(puVar16 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar16 + -0x1c)" * (cast_expression "(char **)(puVar16 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar2" * (cast_expression "(undefined4 *)puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17afe;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17afe" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar16 + -0x10));" (call_expression "fflush(*(FILE **)(puVar16 + -0x10))" identifier (argument_list "(*(FILE **)(puVar16 + -0x10))" ( (pointer_expression "*(FILE **)(puVar16 + -0x10)" * (cast_expression "(FILE **)(puVar16 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "PTR_s_a_out_001c241c = (undefined *)0x0;" (assignment_expression "PTR_s_a_out_001c241c = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000172f3:\n      puVar17 = puVar16 + -0x10;" statement_identifier : (expression_statement "puVar17 = puVar16 + -0x10;" (assignment_expression "puVar17 = puVar16 + -0x10" identifier = (binary_expression "puVar16 + -0x10" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x172fd;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x172fd" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar6 = (FILE *)xexit();" (assignment_expression "pFVar6 = (FILE *)xexit()" identifier = (cast_expression "(FILE *)xexit()" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xexit()" identifier (argument_list "()" ( ))))) ;) (do_statement "do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);" do (compound_statement "{\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      }" { (if_statement "if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }" if (parenthesized_expression "((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27))" ( (binary_expression "(int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)" (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(local_38[-1]._unused2 + 0x27)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_38[-1]._unused2 + 0x27)" ( (binary_expression "local_38[-1]._unused2 + 0x27" (field_expression "local_38[-1]._unused2" (subscript_expression "local_38[-1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) )) (compound_statement "{\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }" { (expression_statement "local_34 = (FILE *)((int)&pFVar6->_flags + 2);" (assignment_expression "local_34 = (FILE *)((int)&pFVar6->_flags + 2)" identifier = (cast_expression "(FILE *)((int)&pFVar6->_flags + 2)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pFVar6->_flags + 2)" ( (binary_expression "(int)&pFVar6->_flags + 2" (cast_expression "(int)&pFVar6->_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar6->_flags" & (field_expression "pFVar6->_flags" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);" (assignment_expression "local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4)" identifier = (pointer_expression "*(byte **)(local_40 + (int)pFVar6 * 4 + 4)" * (cast_expression "(byte **)(local_40 + (int)pFVar6 * 4 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_40 + (int)pFVar6 * 4 + 4)" ( (binary_expression "local_40 + (int)pFVar6 * 4 + 4" (binary_expression "local_40 + (int)pFVar6 * 4" identifier + (binary_expression "(int)pFVar6 * 4" (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }" else (compound_statement "{\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }" { (expression_statement "*(FILE **)(puVar17 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar17 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar17 + -4)" * (cast_expression "(FILE **)(puVar17 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: missing argument to -m\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x174c3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x174c3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x174cb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x174cb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) }))) (labeled_statement "LAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);" statement_identifier : (do_statement "do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);" do (compound_statement "{\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        }" { (expression_statement "bVar23 = local_38 < local_34;" (assignment_expression "bVar23 = local_38 < local_34" identifier = (binary_expression "local_38 < local_34" identifier < identifier)) ;) (expression_statement "bVar24 = local_38 == local_34;" (assignment_expression "bVar24 = local_38 == local_34" identifier = (binary_expression "local_38 == local_34" identifier == identifier)) ;) (expression_statement "pFVar6 = local_34;" (assignment_expression "pFVar6 = local_34" identifier = identifier) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if ((int)local_38 <= (int)local_34) goto LAB_000171e4;" if (parenthesized_expression "((int)local_38 <= (int)local_34)" ( (binary_expression "(int)local_38 <= (int)local_34" (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000171e4;" goto statement_identifier ;)) (labeled_statement "LAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);" statement_identifier : (expression_statement "pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);" (assignment_expression "pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4)" identifier = (pointer_expression "*(byte **)(local_40 + (int)pFVar6 * 4)" * (cast_expression "(byte **)(local_40 + (int)pFVar6 * 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_40 + (int)pFVar6 * 4)" ( (binary_expression "local_40 + (int)pFVar6 * 4" identifier + (binary_expression "(int)pFVar6 * 4" (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;)) (expression_statement "iVar13 = 2;" (assignment_expression "iVar13 = 2" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar9;" (assignment_expression "pbVar19 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar21 = local_50;" (assignment_expression "pbVar21 = local_50" identifier = identifier) ;) (do_statement "do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);" do (compound_statement "{\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar19 < *pbVar21;" (assignment_expression "bVar23 = *pbVar19 < *pbVar21" identifier = (binary_expression "*pbVar19 < *pbVar21" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar21;" (assignment_expression "bVar24 = *pbVar19 == *pbVar21" identifier = (binary_expression "*pbVar19 == *pbVar21" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "local_34 = (FILE *)((int)&pFVar6->_flags + 1);" (assignment_expression "local_34 = (FILE *)((int)&pFVar6->_flags + 1)" identifier = (cast_expression "(FILE *)((int)&pFVar6->_flags + 1)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pFVar6->_flags + 1)" ( (binary_expression "(int)&pFVar6->_flags + 1" (cast_expression "(int)&pFVar6->_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar6->_flags" & (field_expression "pFVar6->_flags" identifier -> field_identifier))) + number_literal) )))) ;) }) while (parenthesized_expression "((!bVar23 && !bVar24) != bVar23)" ( (binary_expression "(!bVar23 && !bVar24) != bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) ;)) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar24 = pbVar9[2] == 0;" (assignment_expression "bVar24 = pbVar9[2] == 0" identifier = (binary_expression "pbVar9[2] == 0" (subscript_expression "pbVar9[2]" identifier [ number_literal ]) == number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "iVar13 = 7;" (assignment_expression "iVar13 = 7" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar9;" (assignment_expression "pbVar19 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar21 = local_58;" (assignment_expression "pbVar21 = local_58" identifier = identifier) ;) (do_statement "do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);" do (compound_statement "{\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      }" { (expression_statement "pbVar18 = pbVar19;" (assignment_expression "pbVar18 = pbVar19" identifier = identifier) ;) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" identifier = identifier) ;) (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ;) (expression_statement "pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "bVar23 = *pbVar19 < *pbVar21;" (assignment_expression "bVar23 = *pbVar19 < *pbVar21" identifier = (binary_expression "*pbVar19 < *pbVar21" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar21;" (assignment_expression "bVar24 = *pbVar19 == *pbVar21" identifier = (binary_expression "*pbVar19 == *pbVar21" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "cVar3 = (!bVar23 && !bVar24) - bVar23;" (assignment_expression "cVar3 = (!bVar23 && !bVar24) - bVar23" identifier = (binary_expression "(!bVar23 && !bVar24) - bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" ( (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) - identifier)) ;) (expression_statement "uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);" (assignment_expression "uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3)" identifier = (call_expression "CONCAT31((int3)((uint)pFVar6 >> 8),cVar3)" identifier (argument_list "((int3)((uint)pFVar6 >> 8),cVar3)" ( (call_expression "(int3)((uint)pFVar6 >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "((uint)pFVar6 >> 8)" ( (binary_expression "(uint)pFVar6 >> 8" (cast_expression "(uint)pFVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) , identifier )))) ;) (if_statement "if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = local_64;" (assignment_expression "*(char **)(puVar17 + -0xc) = local_64" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_68 = pbVar9;" (assignment_expression "local_68 = pbVar9" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1737f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1737f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" { (expression_statement "*(byte **)(puVar17 + -4) = pbVar20;" (assignment_expression "*(byte **)(puVar17 + -4) = pbVar20" (pointer_expression "*(byte **)(puVar17 + -4)" * (cast_expression "(byte **)(puVar17 + -4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar17 + -8) = pbVar20;" (assignment_expression "*(byte **)(puVar17 + -8) = pbVar20" (pointer_expression "*(byte **)(puVar17 + -8)" * (cast_expression "(byte **)(puVar17 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips3";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips3"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips3"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17398;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17398" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "*(byte **)(puVar17 + -4) = pbVar18;" (assignment_expression "*(byte **)(puVar17 + -4) = pbVar18" (pointer_expression "*(byte **)(puVar17 + -4)" * (cast_expression "(byte **)(puVar17 + -4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar17 + -8) = pbVar18;" (assignment_expression "*(byte **)(puVar17 + -8) = pbVar18" (pointer_expression "*(byte **)(puVar17 + -8)" * (cast_expression "(byte **)(puVar17 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips4";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips4"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips4"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x173b1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x173b1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips5";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips5"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips5"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x173ce;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x173ce" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = extraout_EDX;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = extraout_EDX" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = extraout_EDX;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = extraout_EDX" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips32";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips32"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips32"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x173eb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x173eb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips32r2";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips32r2"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips32r2"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17408;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17408" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips32r6";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips32r6"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips32r6"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17425;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17425" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips64";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips64"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips64"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17442;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17442" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips64r2";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips64r2"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips64r2"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1745f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1745f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips64r6";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips64r6"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-mips64r6"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1747c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1747c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }" { (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "-m486";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-m486"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""-m486"" " string_content ")) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17499;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17499" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                              local_54 = local_68 + 2;\n                            }" { (expression_statement "local_54 = local_68 + 2;" (assignment_expression "local_54 = local_68 + 2" identifier = (binary_expression "local_68 + 2" identifier + number_literal)) ;) })) })) })) })) })) })) })) })) })) })) })) })) (goto_statement "goto LAB_00017328;" goto statement_identifier ;) })) (if_statement "if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }" if (parenthesized_expression "(DAT_001c4768 != 0)" ( (binary_expression "DAT_001c4768 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }" { (expression_statement "*(int **)(puVar16 + -4) = &DAT_001c4768;" (assignment_expression "*(int **)(puVar16 + -4) = &DAT_001c4768" (pointer_expression "*(int **)(puVar16 + -4)" * (cast_expression "(int **)(puVar16 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = (pointer_expression "&DAT_001c4768" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" * (cast_expression "(undefined4 *)(puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" * (cast_expression "(char **)(puVar16 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (string_literal ""%P: link errors found, deleting executable `%s\'\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b5c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined **)(puVar16 + -0xc) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0xc)" * (cast_expression "(undefined **)(puVar16 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b65;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b65" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar17 = puVar16 + -0x10;" (assignment_expression "puVar17 = puVar16 + -0x10" identifier = (binary_expression "puVar16 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17657;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17657" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "xexit();" (call_expression "xexit()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00017657:\n    local_54 = (byte *)0x80c15;" statement_identifier : (expression_statement "local_54 = (byte *)0x80c15;" (assignment_expression "local_54 = (byte *)0x80c15" identifier = (cast_expression "(byte *)0x80c15" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * 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 * 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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " ")) ;) (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 (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 = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ IDENT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) }) while (parenthesized_expression ( (unary_expression ! IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;)) (labeled_statement statement_identifier : (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 { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (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 = (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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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) )))) = 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) = (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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)) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (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 (call_expression IDENT (argument_list ( ))) ;) (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) )))) = (subscript_expression IDENT [ 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 = (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) )))) = 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) )))) = 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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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) )))) = (subscript_expression IDENT [ 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_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 (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) )))) = 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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_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 (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (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) )))) = 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 ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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) )))) = 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 * (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 ( ))) ;) }) (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) )))) = 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 = (pointer_expression & IDENT)) ;) (expression_statement (assignment_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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (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) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 IDENT = (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) ;) (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 *)) ) (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 ( ))) ;) (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " escape_sequence 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 ( ))) ;) (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) )))) = 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 (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 ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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_statement while (parenthesized_expression ( BOOL )) (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) )))) = 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 ( (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 *)) ) (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 == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + 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) )))) = 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 ( ))) ;) })) (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) )))) ))) ;) (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 (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 ( ))) ;) }))) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (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 IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != 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 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) )))) = (cast_expression ( (type_descriptor TYPE) ) (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) )))) = 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 ( ))) ;) })) (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 (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != 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 (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 (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 ( ))) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (subscript_expression IDENT [ LIT ]) != 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 *)) ) (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 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 (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 * (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 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 (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 *))) ) (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 (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) ;) (expression_statement (assignment_expression IDENT = (subscript_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) )))) = 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 *))) ) (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) )))) = 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }) (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 ")) ;) (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 (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 *)) ) (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 ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_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 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 (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) )))) = 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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) }))) (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 IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (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 IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) >> LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) & 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 ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;)) (goto_statement goto statement_identifier ;) })) }) (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 (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (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 ( ))) ;) })) }))) (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 (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != 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 (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) )))) = 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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) || (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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 (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 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 (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) )))) = 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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (unary_expression ~ IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (labeled_statement 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 *)) ) (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) )))) = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 *))) ) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , 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) )))) = 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = 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 ")) ;) (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 * (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 *)) ) (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) )))) = (string_literal " string_content escape_sequence 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 (assignment_expression IDENT = 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 (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) )))) = 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 == (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 (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 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 (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 *))) ) (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 = (string_literal " string_content escape_sequence escape_sequence ")) ;) (while_statement while (parenthesized_expression ( BOOL )) (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 (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) )))) = 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 *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (break_statement break ;)) (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) )))) = 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) )))) = 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 *)) ) (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 != IDENT) )) (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) )))) = 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 (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 *))) ) (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 (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 (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) )))) )))) ;) (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 (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 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 (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 *))) ) (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 (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 (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) )))) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (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 *)) ) (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 * (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 * (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) )))) = 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) )))) = (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) )))) = 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != 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 IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 * (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) )))) = 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 = (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) )))) = (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 (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (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) )))) = (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) )))) = 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 *)) ) (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) )))) , (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) )))) = (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 *)) ) (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)) ;) (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 *)) ) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) ))))) ;) }) (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) )))) = 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 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 (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 ( ))) ;) }))) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (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) )))) = 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 IDENT = 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 * (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 { (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 * (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 * (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 * (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 { (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 * (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 * (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 * (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 { (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 ")) ;) (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 * (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) )))) = 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 IDENT = 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 ")) ;) (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 * (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 { (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 ")) ;) (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 * (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 { (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 ")) ;) (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 * (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 { (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 ")) ;) (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 * (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 { (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 ")) ;) (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 * (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 { (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 ")) ;) (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 * (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 { (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 ")) ;) (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 * (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 = (binary_expression IDENT + LIT)) ;) })) })) })) })) })) })) })) })) })) })) })) })) (goto_statement goto statement_identifier ;) })) (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 (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 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 (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 *))) ) (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)) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void FUN_00016ef0(uint param_1,undefined4 *param_2)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  char cVar3;\n  size_t sVar4;\n  char *pcVar5;\n  FILE *pFVar6;\n  undefined4 uVar7;\n  int iVar8;\n  byte *pbVar9;\n  size_t sVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  uint uVar14;\n  undefined4 extraout_EDX;\n  uint uVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  byte *pbVar20;\n  undefined4 *puVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined8 uVar26;\n  int aiStack_b4 [13];\n  undefined1 auStack_70 [8];\n  byte *local_68;\n  char *local_64;\n  undefined4 *local_60;\n  int local_5c;\n  byte *local_58;\n  byte *local_54;\n  byte *local_50;\n  undefined4 *local_4c;\n  int *local_48;\n  undefined4 *local_44;\n  char *local_40;\n  byte *local_3c;\n  FILE *local_38;\n  FILE *local_34;\n  int local_24 [3];\n  int *piStack_18;\n  byte *pbVar19;\n  byte *pbVar21;\n  \n  bVar25 = 0;\n  local_48 = (int *)&param_1;\n  piStack_18 = local_48;\n  local_5c = FUN_0006f170();\n  local_40 = "";\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  local_60 = &DAT_001c4758;\n  DAT_001c4758 = *param_2;\n  xmalloc_set_program_name();\n  FUN_0006ed20();\n  bfd_init();\n  bfd_set_error_program_name();\n  DAT_001c39ec = bfd_set_assert_handler();\n  DAT_001c39e8 = bfd_set_error_handler();\n  FUN_0006f200();\n  local_34 = (FILE *)param_2;\n  local_38 = (FILE *)param_1;\n  bVar23 = param_1 == 0;\n  bVar24 = param_1 == 1;\n  if (1 < (int)param_1) {\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }\n  DAT_001c467c = (byte *)0x7ef86;\nLAB_000174e1:\n  DAT_001c4764 = (char *)lrealpath();\nLAB_00017033:\n  pcVar5 = DAT_001c4764;\n  puVar17 = auStack_70;\n  if (DAT_001c4764 == (char *)0x0) {\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }\n  else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }\n  DAT_001c45c8 = sVar4;\n  iVar13 = bfd_set_default_target();\n  if (iVar13 == 0) {\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }\n  DAT_001c46ec = 1;\n  DAT_001c4728 = 0x3a;\n  DAT_001c4734 = 0xffffffff;\n  DAT_001c4738 = 0xffffffff;\n  DAT_001c473c = 0xffffffff;\n  DAT_001c46e4 = 1;\n  DAT_001c46e0 = 1;\n  DAT_001c4710 = 1;\n  local_4c = &DAT_001c46e0;\n  DAT_001c45f8 = 0xffffffff;\n  DAT_001c4690 = 1;\n  DAT_001c4694 = 1;\n  DAT_001c4698 = 0xff;\n  local_44 = &DAT_001c4680;\n  *(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";\n  local_3c = &DAT_001c45e0;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17116;\n  pcVar5 = getenv(*(char **)(puVar17 + -0x10));\n  DAT_001c4638 = 1;\n  DAT_001c4640 = 0xffffffff;\n  DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);\n  _DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;\n  DAT_001c45fc = &PTR_FUN_001c23e0;\n  DAT_001c4620 = &DAT_001c461c;\n  DAT_001c4630 = "_init";\n  DAT_001c4634 = "_fini";\n  DAT_001c4644 = 0xffffffff;\n  local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);\n  _DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;\n  DAT_001c4648 = 0xffffffff;\n  DAT_001c4650 = 5;\n  DAT_001c45ea = 0x3a;\n  *(char **)(puVar17 + -0x10) = local_40;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17190;\n  FUN_00035d00();\n  local_40 = (char *)local_48[1];\n  local_38 = (FILE *)*local_48;\n  *(char **)(puVar17 + -0x10) = "LDEMULATION";\n  *(undefined4 *)(puVar17 + -0x14) = 0x171ac;\n  local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));\n  if (local_54 == (byte *)0x0) goto LAB_00017657;\n  do {\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_00016ef0(uint param_1,undefined4 *param_2)" (identifier "FUN_00016ef0") (parameter_list "(uint param_1,undefined4 *param_2)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  uint *puVar1;\n  undefined *puVar2;\n  char cVar3;\n  size_t sVar4;\n  char *pcVar5;\n  FILE *pFVar6;\n  undefined4 uVar7;\n  int iVar8;\n  byte *pbVar9;\n  size_t sVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  int iVar13;\n  undefined4 extraout_ECX;\n  uint uVar14;\n  undefined4 extraout_EDX;\n  uint uVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  byte *pbVar20;\n  undefined4 *puVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  undefined8 uVar26;\n  int aiStack_b4 [13];\n  undefined1 auStack_70 [8];\n  byte *local_68;\n  char *local_64;\n  undefined4 *local_60;\n  int local_5c;\n  byte *local_58;\n  byte *local_54;\n  byte *local_50;\n  undefined4 *local_4c;\n  int *local_48;\n  undefined4 *local_44;\n  char *local_40;\n  byte *local_3c;\n  FILE *local_38;\n  FILE *local_34;\n  int local_24 [3];\n  int *piStack_18;\n  byte *pbVar19;\n  byte *pbVar21;\n  \n  bVar25 = 0;\n  local_48 = (int *)&param_1;\n  piStack_18 = local_48;\n  local_5c = FUN_0006f170();\n  local_40 = "";\n  setlocale(5,"");\n  setlocale(0,"");\n  bindtextdomain();\n  textdomain();\n  local_60 = &DAT_001c4758;\n  DAT_001c4758 = *param_2;\n  xmalloc_set_program_name();\n  FUN_0006ed20();\n  bfd_init();\n  bfd_set_error_program_name();\n  DAT_001c39ec = bfd_set_assert_handler();\n  DAT_001c39e8 = bfd_set_error_handler();\n  FUN_0006f200();\n  local_34 = (FILE *)param_2;\n  local_38 = (FILE *)param_1;\n  bVar23 = param_1 == 0;\n  bVar24 = param_1 == 1;\n  if (1 < (int)param_1) {\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }\n  DAT_001c467c = (byte *)0x7ef86;\nLAB_000174e1:\n  DAT_001c4764 = (char *)lrealpath();\nLAB_00017033:\n  pcVar5 = DAT_001c4764;\n  puVar17 = auStack_70;\n  if (DAT_001c4764 == (char *)0x0) {\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }\n  else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }\n  DAT_001c45c8 = sVar4;\n  iVar13 = bfd_set_default_target();\n  if (iVar13 == 0) {\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }\n  DAT_001c46ec = 1;\n  DAT_001c4728 = 0x3a;\n  DAT_001c4734 = 0xffffffff;\n  DAT_001c4738 = 0xffffffff;\n  DAT_001c473c = 0xffffffff;\n  DAT_001c46e4 = 1;\n  DAT_001c46e0 = 1;\n  DAT_001c4710 = 1;\n  local_4c = &DAT_001c46e0;\n  DAT_001c45f8 = 0xffffffff;\n  DAT_001c4690 = 1;\n  DAT_001c4694 = 1;\n  DAT_001c4698 = 0xff;\n  local_44 = &DAT_001c4680;\n  *(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";\n  local_3c = &DAT_001c45e0;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17116;\n  pcVar5 = getenv(*(char **)(puVar17 + -0x10));\n  DAT_001c4638 = 1;\n  DAT_001c4640 = 0xffffffff;\n  DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);\n  _DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;\n  DAT_001c45fc = &PTR_FUN_001c23e0;\n  DAT_001c4620 = &DAT_001c461c;\n  DAT_001c4630 = "_init";\n  DAT_001c4634 = "_fini";\n  DAT_001c4644 = 0xffffffff;\n  local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);\n  _DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;\n  DAT_001c4648 = 0xffffffff;\n  DAT_001c4650 = 5;\n  DAT_001c45ea = 0x3a;\n  *(char **)(puVar17 + -0x10) = local_40;\n  *(undefined4 *)(puVar17 + -0x14) = 0x17190;\n  FUN_00035d00();\n  local_40 = (char *)local_48[1];\n  local_38 = (FILE *)*local_48;\n  *(char **)(puVar17 + -0x10) = "LDEMULATION";\n  *(undefined4 *)(puVar17 + -0x14) = 0x171ac;\n  local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));\n  if (local_54 == (byte *)0x0) goto LAB_00017657;\n  do {\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "size_t sVar4;" (primitive_type "size_t") (identifier "sVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "FILE *pFVar6;" (type_identifier "FILE") (pointer_declarator "*pFVar6" (* "*") (identifier "pFVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "size_t sVar10;" (primitive_type "size_t") (identifier "sVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "undefined4 extraout_EDX;" (type_identifier "undefined4") (identifier "extraout_EDX") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "undefined1 *puVar16;" (type_identifier "undefined1") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "undefined4 *puVar22;" (type_identifier "undefined4") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "bool bVar23;" (primitive_type "bool") (identifier "bVar23") (; ";")) (declaration "bool bVar24;" (primitive_type "bool") (identifier "bVar24") (; ";")) (declaration "byte bVar25;" (type_identifier "byte") (identifier "bVar25") (; ";")) (declaration "undefined8 uVar26;" (type_identifier "undefined8") (identifier "uVar26") (; ";")) (declaration "int aiStack_b4 [13];" (primitive_type "int") (array_declarator "aiStack_b4 [13]" (identifier "aiStack_b4") ([ "[") (number_literal "13") (] "]")) (; ";")) (declaration "undefined1 auStack_70 [8];" (type_identifier "undefined1") (array_declarator "auStack_70 [8]" (identifier "auStack_70") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "byte *local_68;" (type_identifier "byte") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "char *local_64;" (primitive_type "char") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "undefined4 *local_60;" (type_identifier "undefined4") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (declaration "byte *local_58;" (type_identifier "byte") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "byte *local_54;" (type_identifier "byte") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "byte *local_50;" (type_identifier "byte") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "undefined4 *local_4c;" (type_identifier "undefined4") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "int *local_48;" (primitive_type "int") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "undefined4 *local_44;" (type_identifier "undefined4") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "char *local_40;" (primitive_type "char") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "byte *local_3c;" (type_identifier "byte") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "FILE *local_38;" (type_identifier "FILE") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "FILE *local_34;" (type_identifier "FILE") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "int local_24 [3];" (primitive_type "int") (array_declarator "local_24 [3]" (identifier "local_24") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "int *piStack_18;" (primitive_type "int") (pointer_declarator "*piStack_18" (* "*") (identifier "piStack_18")) (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" (identifier "bVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = (int *)&param_1;" (assignment_expression "local_48 = (int *)&param_1" (identifier "local_48") (= "=") (cast_expression "(int *)&param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&param_1" (& "&") (identifier "param_1")))) (; ";")) (expression_statement "piStack_18 = local_48;" (assignment_expression "piStack_18 = local_48" (identifier "piStack_18") (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_5c = FUN_0006f170();" (assignment_expression "local_5c = FUN_0006f170()" (identifier "local_5c") (= "=") (call_expression "FUN_0006f170()" (identifier "FUN_0006f170") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_40 = "";" (assignment_expression "local_40 = """ (identifier "local_40") (= "=") (string_literal """" (" """) (" """))) (; ";")) (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 "local_60 = &DAT_001c4758;" (assignment_expression "local_60 = &DAT_001c4758" (identifier "local_60") (= "=") (pointer_expression "&DAT_001c4758" (& "&") (identifier "DAT_001c4758"))) (; ";")) (expression_statement "DAT_001c4758 = *param_2;" (assignment_expression "DAT_001c4758 = *param_2" (identifier "DAT_001c4758") (= "=") (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 "FUN_0006ed20();" (call_expression "FUN_0006ed20()" (identifier "FUN_0006ed20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bfd_init();" (call_expression "bfd_init()" (identifier "bfd_init") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bfd_set_error_program_name();" (call_expression "bfd_set_error_program_name()" (identifier "bfd_set_error_program_name") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_001c39ec = bfd_set_assert_handler();" (assignment_expression "DAT_001c39ec = bfd_set_assert_handler()" (identifier "DAT_001c39ec") (= "=") (call_expression "bfd_set_assert_handler()" (identifier "bfd_set_assert_handler") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "DAT_001c39e8 = bfd_set_error_handler();" (assignment_expression "DAT_001c39e8 = bfd_set_error_handler()" (identifier "DAT_001c39e8") (= "=") (call_expression "bfd_set_error_handler()" (identifier "bfd_set_error_handler") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0006f200();" (call_expression "FUN_0006f200()" (identifier "FUN_0006f200") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_34 = (FILE *)param_2;" (assignment_expression "local_34 = (FILE *)param_2" (identifier "local_34") (= "=") (cast_expression "(FILE *)param_2" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2"))) (; ";")) (expression_statement "local_38 = (FILE *)param_1;" (assignment_expression "local_38 = (FILE *)param_1" (identifier "local_38") (= "=") (cast_expression "(FILE *)param_1" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "bVar23 = param_1 == 0;" (assignment_expression "bVar23 = param_1 == 0" (identifier "bVar23") (= "=") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0"))) (; ";")) (expression_statement "bVar24 = param_1 == 1;" (assignment_expression "bVar24 = param_1 == 1" (identifier "bVar24") (= "=") (binary_expression "param_1 == 1" (identifier "param_1") (== "==") (number_literal "1"))) (; ";")) (if_statement "if (1 < (int)param_1) {\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }" (if "if") (parenthesized_expression "(1 < (int)param_1)" (( "(") (binary_expression "1 < (int)param_1" (number_literal "1") (< "<") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")")) (compound_statement "{\n    local_3c = (byte *)0x80c34;\n    uVar14 = 1;\n    do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);\n  }" ({ "{") (expression_statement "local_3c = (byte *)0x80c34;" (assignment_expression "local_3c = (byte *)0x80c34" (identifier "local_3c") (= "=") (cast_expression "(byte *)0x80c34" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x80c34"))) (; ";")) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" (identifier "uVar14") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    } while (!bVar24);" (do "do") (compound_statement "{\n      iVar13 = 10;\n      pbVar9 = (byte *)param_2[uVar14];\n      pbVar19 = pbVar9;\n      pbVar21 = local_3c;\n      do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);\n      if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }\n      uVar14 = uVar14 + 1;\n      bVar23 = param_1 < uVar14;\n      bVar24 = param_1 == uVar14;\n    }" ({ "{") (expression_statement "iVar13 = 10;" (assignment_expression "iVar13 = 10" (identifier "iVar13") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar9 = (byte *)param_2[uVar14];" (assignment_expression "pbVar9 = (byte *)param_2[uVar14]" (identifier "pbVar9") (= "=") (cast_expression "(byte *)param_2[uVar14]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[uVar14]" (identifier "param_2") ([ "[") (identifier "uVar14") (] "]")))) (; ";")) (expression_statement "pbVar19 = pbVar9;" (assignment_expression "pbVar19 = pbVar9" (identifier "pbVar19") (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "pbVar21 = local_3c;" (assignment_expression "pbVar21 = local_3c" (identifier "pbVar21") (= "=") (identifier "local_3c")) (; ";")) (do_statement "do {\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      } while (bVar24);" (do "do") (compound_statement "{\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar13 == 0) break;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + -1" (identifier "iVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar19 < *pbVar21;" (assignment_expression "bVar23 = *pbVar19 < *pbVar21" (identifier "bVar23") (= "=") (binary_expression "*pbVar19 < *pbVar21" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "bVar24 = *pbVar19 == *pbVar21;" (assignment_expression "bVar24 = *pbVar19 == *pbVar21" (identifier "bVar24") (= "=") (binary_expression "*pbVar19 == *pbVar21" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (if_statement "if ((!bVar23 && !bVar24) == bVar23) {\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }" (if "if") (parenthesized_expression "((!bVar23 && !bVar24) == bVar23)" (( "(") (binary_expression "(!bVar23 && !bVar24) == bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" (( "(") (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar23")) () ")")) (compound_statement "{\n        DAT_001c467c = pbVar9 + 10;\n        if (pbVar9[10] == 0) goto LAB_00017033;\n        goto LAB_000174e1;\n      }" ({ "{") (expression_statement "DAT_001c467c = pbVar9 + 10;" (assignment_expression "DAT_001c467c = pbVar9 + 10" (identifier "DAT_001c467c") (= "=") (binary_expression "pbVar9 + 10" (identifier "pbVar9") (+ "+") (number_literal "10"))) (; ";")) (if_statement "if (pbVar9[10] == 0) goto LAB_00017033;" (if "if") (parenthesized_expression "(pbVar9[10] == 0)" (( "(") (binary_expression "pbVar9[10] == 0" (subscript_expression "pbVar9[10]" (identifier "pbVar9") ([ "[") (number_literal "10") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00017033;" (goto "goto") (statement_identifier "LAB_00017033") (; ";"))) (goto_statement "goto LAB_000174e1;" (goto "goto") (statement_identifier "LAB_000174e1") (; ";")) (} "}"))) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" (identifier "uVar14") (= "=") (binary_expression "uVar14 + 1" (identifier "uVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar23 = param_1 < uVar14;" (assignment_expression "bVar23 = param_1 < uVar14" (identifier "bVar23") (= "=") (binary_expression "param_1 < uVar14" (identifier "param_1") (< "<") (identifier "uVar14"))) (; ";")) (expression_statement "bVar24 = param_1 == uVar14;" (assignment_expression "bVar24 = param_1 == uVar14" (identifier "bVar24") (= "=") (binary_expression "param_1 == uVar14" (identifier "param_1") (== "==") (identifier "uVar14"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (; ";")) (} "}"))) (expression_statement "DAT_001c467c = (byte *)0x7ef86;" (assignment_expression "DAT_001c467c = (byte *)0x7ef86" (identifier "DAT_001c467c") (= "=") (cast_expression "(byte *)0x7ef86" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7ef86"))) (; ";")) (labeled_statement "LAB_000174e1:\n  DAT_001c4764 = (char *)lrealpath();" (statement_identifier "LAB_000174e1") (: ":") (expression_statement "DAT_001c4764 = (char *)lrealpath();" (assignment_expression "DAT_001c4764 = (char *)lrealpath()" (identifier "DAT_001c4764") (= "=") (cast_expression "(char *)lrealpath()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "lrealpath()" (identifier "lrealpath") (argument_list "()" (( "(") () ")"))))) (; ";"))) (labeled_statement "LAB_00017033:\n  pcVar5 = DAT_001c4764;" (statement_identifier "LAB_00017033") (: ":") (expression_statement "pcVar5 = DAT_001c4764;" (assignment_expression "pcVar5 = DAT_001c4764" (identifier "pcVar5") (= "=") (identifier "DAT_001c4764")) (; ";"))) (expression_statement "puVar17 = auStack_70;" (assignment_expression "puVar17 = auStack_70" (identifier "puVar17") (= "=") (identifier "auStack_70")) (; ";")) (if_statement "if (DAT_001c4764 == (char *)0x0) {\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }\n  else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(DAT_001c4764 == (char *)0x0)" (( "(") (binary_expression "DAT_001c4764 == (char *)0x0" (identifier "DAT_001c4764") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    DAT_001c45c8 = 0xffffffff;\n    sVar4 = DAT_001c45c8;\n  }" ({ "{") (expression_statement "DAT_001c45c8 = 0xffffffff;" (assignment_expression "DAT_001c45c8 = 0xffffffff" (identifier "DAT_001c45c8") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "sVar4 = DAT_001c45c8;" (assignment_expression "sVar4 = DAT_001c45c8" (identifier "sVar4") (= "=") (identifier "DAT_001c45c8")) (; ";")) (} "}")) (else_clause "else {\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    sVar4 = strlen(DAT_001c4764);\n    if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }\n  }" ({ "{") (expression_statement "sVar4 = strlen(DAT_001c4764);" (assignment_expression "sVar4 = strlen(DAT_001c4764)" (identifier "sVar4") (= "=") (call_expression "strlen(DAT_001c4764)" (identifier "strlen") (argument_list "(DAT_001c4764)" (( "(") (identifier "DAT_001c4764") () ")")))) (; ";")) (if_statement "if (sVar4 != 0) {\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }" (if "if") (parenthesized_expression "(sVar4 != 0)" (( "(") (binary_expression "sVar4 != 0" (identifier "sVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      DAT_001c45c8 = sVar4 - 1;\n      if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }\n    }" ({ "{") (expression_statement "DAT_001c45c8 = sVar4 - 1;" (assignment_expression "DAT_001c45c8 = sVar4 - 1" (identifier "DAT_001c45c8") (= "=") (binary_expression "sVar4 - 1" (identifier "sVar4") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (pcVar5[DAT_001c45c8] == '/') {\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }" (if "if") (parenthesized_expression "(pcVar5[DAT_001c45c8] == '/')" (( "(") (binary_expression "pcVar5[DAT_001c45c8] == '/'" (subscript_expression "pcVar5[DAT_001c45c8]" (identifier "pcVar5") ([ "[") (identifier "DAT_001c45c8") (] "]")) (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n        pcVar5[DAT_001c45c8] = '\0';\n        sVar4 = DAT_001c45c8;\n      }" ({ "{") (expression_statement "pcVar5[DAT_001c45c8] = '\0';" (assignment_expression "pcVar5[DAT_001c45c8] = '\0'" (subscript_expression "pcVar5[DAT_001c45c8]" (identifier "pcVar5") ([ "[") (identifier "DAT_001c45c8") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "sVar4 = DAT_001c45c8;" (assignment_expression "sVar4 = DAT_001c45c8" (identifier "sVar4") (= "=") (identifier "DAT_001c45c8")) (; ";")) (} "}"))) (} "}"))) (} "}")))) (expression_statement "DAT_001c45c8 = sVar4;" (assignment_expression "DAT_001c45c8 = sVar4" (identifier "DAT_001c45c8") (= "=") (identifier "sVar4")) (; ";")) (expression_statement "iVar13 = bfd_set_default_target();" (assignment_expression "iVar13 = bfd_set_default_target()" (identifier "iVar13") (= "=") (call_expression "bfd_set_default_target()" (identifier "bfd_set_default_target") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar13 == 0) {\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    dcgettext();\n    puVar17 = &stack0xffffff80;\n    FUN_00034dc0();\n    xexit();\n  }" ({ "{") (expression_statement "dcgettext();" (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar17 = &stack0xffffff80;" (assignment_expression "puVar17 = &stack0xffffff80" (identifier "puVar17") (= "=") (pointer_expression "&stack0xffffff80" (& "&") (identifier "stack0xffffff80"))) (; ";")) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" (identifier "FUN_00034dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "xexit();" (call_expression "xexit()" (identifier "xexit") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_001c46ec = 1;" (assignment_expression "DAT_001c46ec = 1" (identifier "DAT_001c46ec") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_001c4728 = 0x3a;" (assignment_expression "DAT_001c4728 = 0x3a" (identifier "DAT_001c4728") (= "=") (number_literal "0x3a")) (; ";")) (expression_statement "DAT_001c4734 = 0xffffffff;" (assignment_expression "DAT_001c4734 = 0xffffffff" (identifier "DAT_001c4734") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "DAT_001c4738 = 0xffffffff;" (assignment_expression "DAT_001c4738 = 0xffffffff" (identifier "DAT_001c4738") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "DAT_001c473c = 0xffffffff;" (assignment_expression "DAT_001c473c = 0xffffffff" (identifier "DAT_001c473c") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "DAT_001c46e4 = 1;" (assignment_expression "DAT_001c46e4 = 1" (identifier "DAT_001c46e4") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_001c46e0 = 1;" (assignment_expression "DAT_001c46e0 = 1" (identifier "DAT_001c46e0") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_001c4710 = 1;" (assignment_expression "DAT_001c4710 = 1" (identifier "DAT_001c4710") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_4c = &DAT_001c46e0;" (assignment_expression "local_4c = &DAT_001c46e0" (identifier "local_4c") (= "=") (pointer_expression "&DAT_001c46e0" (& "&") (identifier "DAT_001c46e0"))) (; ";")) (expression_statement "DAT_001c45f8 = 0xffffffff;" (assignment_expression "DAT_001c45f8 = 0xffffffff" (identifier "DAT_001c45f8") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "DAT_001c4690 = 1;" (assignment_expression "DAT_001c4690 = 1" (identifier "DAT_001c4690") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_001c4694 = 1;" (assignment_expression "DAT_001c4694 = 1" (identifier "DAT_001c4694") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_001c4698 = 0xff;" (assignment_expression "DAT_001c4698 = 0xff" (identifier "DAT_001c4698") (= "=") (number_literal "0xff")) (; ";")) (expression_statement "local_44 = &DAT_001c4680;" (assignment_expression "local_44 = &DAT_001c4680" (identifier "local_44") (= "=") (pointer_expression "&DAT_001c4680" (& "&") (identifier "DAT_001c4680"))) (; ";")) (expression_statement "*(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";" (assignment_expression "*(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE"" (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""COLLECT_NO_DEMANGLE"" (" """) (string_content "COLLECT_NO_DEMANGLE") (" """))) (; ";")) (expression_statement "local_3c = &DAT_001c45e0;" (assignment_expression "local_3c = &DAT_001c45e0" (identifier "local_3c") (= "=") (pointer_expression "&DAT_001c45e0" (& "&") (identifier "DAT_001c45e0"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17116;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17116" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17116")) (; ";")) (expression_statement "pcVar5 = getenv(*(char **)(puVar17 + -0x10));" (assignment_expression "pcVar5 = getenv(*(char **)(puVar17 + -0x10))" (identifier "pcVar5") (= "=") (call_expression "getenv(*(char **)(puVar17 + -0x10))" (identifier "getenv") (argument_list "(*(char **)(puVar17 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "DAT_001c4638 = 1;" (assignment_expression "DAT_001c4638 = 1" (identifier "DAT_001c4638") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_001c4640 = 0xffffffff;" (assignment_expression "DAT_001c4640 = 0xffffffff" (identifier "DAT_001c4640") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);" (assignment_expression "DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0)" (identifier "DAT_001c45c4") (= "=") (call_expression "(uint)(pcVar5 == (char *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(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"))) () ")")))) (; ";")) (expression_statement "_DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;" (assignment_expression "_DAT_001c45e0 = _DAT_001c45e0 | 0x4000400" (identifier "_DAT_001c45e0") (= "=") (binary_expression "_DAT_001c45e0 | 0x4000400" (identifier "_DAT_001c45e0") (| "|") (number_literal "0x4000400"))) (; ";")) (expression_statement "DAT_001c45fc = &PTR_FUN_001c23e0;" (assignment_expression "DAT_001c45fc = &PTR_FUN_001c23e0" (identifier "DAT_001c45fc") (= "=") (pointer_expression "&PTR_FUN_001c23e0" (& "&") (identifier "PTR_FUN_001c23e0"))) (; ";")) (expression_statement "DAT_001c4620 = &DAT_001c461c;" (assignment_expression "DAT_001c4620 = &DAT_001c461c" (identifier "DAT_001c4620") (= "=") (pointer_expression "&DAT_001c461c" (& "&") (identifier "DAT_001c461c"))) (; ";")) (expression_statement "DAT_001c4630 = "_init";" (assignment_expression "DAT_001c4630 = "_init"" (identifier "DAT_001c4630") (= "=") (string_literal ""_init"" (" """) (string_content "_init") (" """))) (; ";")) (expression_statement "DAT_001c4634 = "_fini";" (assignment_expression "DAT_001c4634 = "_fini"" (identifier "DAT_001c4634") (= "=") (string_literal ""_fini"" (" """) (string_content "_fini") (" """))) (; ";")) (expression_statement "DAT_001c4644 = 0xffffffff;" (assignment_expression "DAT_001c4644 = 0xffffffff" (identifier "DAT_001c4644") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);" (assignment_expression "local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4)" (identifier "local_34") (= "=") (cast_expression "(FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4)" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT22(local_34._2_2_,_DAT_001c45e4)" (identifier "CONCAT22") (argument_list "(local_34._2_2_,_DAT_001c45e4)" (( "(") (field_expression "local_34._2_2_" (identifier "local_34") (. ".") (field_identifier "_2_2_")) (, ",") (identifier "_DAT_001c45e4") () ")"))))) (; ";")) (expression_statement "_DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;" (assignment_expression "_DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c" (identifier "_DAT_001c45e4") (= "=") (binary_expression "_DAT_001c45e4 & 0xceb3 | 0x214c" (binary_expression "_DAT_001c45e4 & 0xceb3" (identifier "_DAT_001c45e4") (& "&") (number_literal "0xceb3")) (| "|") (number_literal "0x214c"))) (; ";")) (expression_statement "DAT_001c4648 = 0xffffffff;" (assignment_expression "DAT_001c4648 = 0xffffffff" (identifier "DAT_001c4648") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "DAT_001c4650 = 5;" (assignment_expression "DAT_001c4650 = 5" (identifier "DAT_001c4650") (= "=") (number_literal "5")) (; ";")) (expression_statement "DAT_001c45ea = 0x3a;" (assignment_expression "DAT_001c45ea = 0x3a" (identifier "DAT_001c45ea") (= "=") (number_literal "0x3a")) (; ";")) (expression_statement "*(char **)(puVar17 + -0x10) = local_40;" (assignment_expression "*(char **)(puVar17 + -0x10) = local_40" (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17190;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17190" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17190")) (; ";")) (expression_statement "FUN_00035d00();" (call_expression "FUN_00035d00()" (identifier "FUN_00035d00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_40 = (char *)local_48[1];" (assignment_expression "local_40 = (char *)local_48[1]" (identifier "local_40") (= "=") (cast_expression "(char *)local_48[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_48[1]" (identifier "local_48") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_38 = (FILE *)*local_48;" (assignment_expression "local_38 = (FILE *)*local_48" (identifier "local_38") (= "=") (cast_expression "(FILE *)*local_48" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_48" (* "*") (identifier "local_48")))) (; ";")) (expression_statement "*(char **)(puVar17 + -0x10) = "LDEMULATION";" (assignment_expression "*(char **)(puVar17 + -0x10) = "LDEMULATION"" (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""LDEMULATION"" (" """) (string_content "LDEMULATION") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x171ac;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x171ac" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x171ac")) (; ";")) (expression_statement "local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));" (assignment_expression "local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10))" (identifier "local_54") (= "=") (cast_expression "(byte *)getenv(*(char **)(puVar17 + -0x10))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "getenv(*(char **)(puVar17 + -0x10))" (identifier "getenv") (argument_list "(*(char **)(puVar17 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))))) (; ";")) (if_statement "if (local_54 == (byte *)0x0) goto LAB_00017657;" (if "if") (parenthesized_expression "(local_54 == (byte *)0x0)" (( "(") (binary_expression "local_54 == (byte *)0x0" (identifier "local_54") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00017657;" (goto "goto") (statement_identifier "LAB_00017657") (; ";"))) (do_statement "do {\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  } while( true );" (do "do") (compound_statement "{\n    bVar23 = local_38 == (FILE *)0x0;\n    bVar24 = local_38 == (FILE *)0x1;\n    local_50 = &DAT_00080c85;\n    local_58 = &DAT_00080ca6;\n    local_64 = "-mips2";\n    pFVar6 = (FILE *)0x1;\n    puVar16 = puVar17;\n    if (1 < (int)local_38) goto LAB_00017334;\nLAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;\n    FUN_00033bc0();\n    piVar11 = local_48;\n    *(int *)(puVar16 + -0xc) = local_48[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;\n    DAT_001c4754 = FUN_000338a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;\n    FUN_000258a0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17210;\n    FUN_000334e0();\n    *(undefined4 *)(puVar16 + -0x14) = 0x17215;\n    FUN_000335f0();\n    DAT_001c3850 = 0;\n    puVar22 = *(undefined4 **)(puVar16 + -0xc);\n    *(int *)(puVar16 + -0xc) = piVar11[1];\n    *(int *)(puVar16 + -0x10) = *piVar11;\n    local_38 = (FILE *)&DAT_001c3850;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17230;\n    FUN_0001d500();\n    if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17246;\n    FUN_00038400();\n    *(undefined4 *)(puVar16 + -4) = 0x1724b;\n    FUN_000336d0();\n    if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }\n    uVar14 = 1;\n    if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);\n    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);\n    if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x172ad;\n    FUN_000289a0();\n    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;\n    if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }\n    pFVar6 = local_38;\n    if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }\n    if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x1753b;\n    FUN_000335d0();\n    puVar22 = local_4c;\n    iVar13 = local_4c[0x13];\n    if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17572;\n    FUN_0002aa30();\n    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n    if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }\n    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x175dd;\n    FUN_00030220();\n    puVar22 = local_4c;\n    if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }\n    if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }\n    if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }\n    *(undefined4 *)(puVar16 + -4) = 0x17631;\n    FUN_00033570();\n    *(undefined4 *)(puVar16 + -4) = 0x17636;\n    FUN_00024010();\n    puVar2 = PTR_s_a_out_001c241c;\n    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }\n    if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }\n    puVar17 = puVar16 + -0x10;\n    *(undefined4 *)(puVar16 + -0x10) = 1;\n    *(undefined4 *)(puVar16 + -0x14) = 0x17657;\n    xexit();\nLAB_00017657:\n    local_54 = (byte *)0x80c15;\n  }" ({ "{") (expression_statement "bVar23 = local_38 == (FILE *)0x0;" (assignment_expression "bVar23 = local_38 == (FILE *)0x0" (identifier "bVar23") (= "=") (binary_expression "local_38 == (FILE *)0x0" (identifier "local_38") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (expression_statement "bVar24 = local_38 == (FILE *)0x1;" (assignment_expression "bVar24 = local_38 == (FILE *)0x1" (identifier "bVar24") (= "=") (binary_expression "local_38 == (FILE *)0x1" (identifier "local_38") (== "==") (cast_expression "(FILE *)0x1" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")))) (; ";")) (expression_statement "local_50 = &DAT_00080c85;" (assignment_expression "local_50 = &DAT_00080c85" (identifier "local_50") (= "=") (pointer_expression "&DAT_00080c85" (& "&") (identifier "DAT_00080c85"))) (; ";")) (expression_statement "local_58 = &DAT_00080ca6;" (assignment_expression "local_58 = &DAT_00080ca6" (identifier "local_58") (= "=") (pointer_expression "&DAT_00080ca6" (& "&") (identifier "DAT_00080ca6"))) (; ";")) (expression_statement "local_64 = "-mips2";" (assignment_expression "local_64 = "-mips2"" (identifier "local_64") (= "=") (string_literal ""-mips2"" (" """) (string_content "-mips2") (" """))) (; ";")) (expression_statement "pFVar6 = (FILE *)0x1;" (assignment_expression "pFVar6 = (FILE *)0x1" (identifier "pFVar6") (= "=") (cast_expression "(FILE *)0x1" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" (identifier "puVar16") (= "=") (identifier "puVar17")) (; ";")) (if_statement "if (1 < (int)local_38) goto LAB_00017334;" (if "if") (parenthesized_expression "(1 < (int)local_38)" (( "(") (binary_expression "1 < (int)local_38" (number_literal "1") (< "<") (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38"))) () ")")) (goto_statement "goto LAB_00017334;" (goto "goto") (statement_identifier "LAB_00017334") (; ";"))) (labeled_statement "LAB_000171e4:\n    *(byte **)(puVar16 + -0x10) = local_54;" (statement_identifier "LAB_000171e4") (: ":") (expression_statement "*(byte **)(puVar16 + -0x10) = local_54;" (assignment_expression "*(byte **)(puVar16 + -0x10) = local_54" (pointer_expression "*(byte **)(puVar16 + -0x10)" (* "*") (cast_expression "(byte **)(puVar16 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_54")) (; ";"))) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x171ef;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x171ef" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x171ef")) (; ";")) (expression_statement "FUN_00033bc0();" (call_expression "FUN_00033bc0()" (identifier "FUN_00033bc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar11 = local_48;" (assignment_expression "piVar11 = local_48" (identifier "piVar11") (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(int *)(puVar16 + -0xc) = local_48[1];" (assignment_expression "*(int *)(puVar16 + -0xc) = local_48[1]" (pointer_expression "*(int *)(puVar16 + -0xc)" (* "*") (cast_expression "(int *)(puVar16 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "local_48[1]" (identifier "local_48") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = *piVar11;" (assignment_expression "*(int *)(puVar16 + -0x10) = *piVar11" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x171fe;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x171fe" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x171fe")) (; ";")) (expression_statement "DAT_001c4754 = FUN_000338a0();" (assignment_expression "DAT_001c4754 = FUN_000338a0()" (identifier "DAT_001c4754") (= "=") (call_expression "FUN_000338a0()" (identifier "FUN_000338a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1720b;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1720b" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1720b")) (; ";")) (expression_statement "FUN_000258a0();" (call_expression "FUN_000258a0()" (identifier "FUN_000258a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17210;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17210" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17210")) (; ";")) (expression_statement "FUN_000334e0();" (call_expression "FUN_000334e0()" (identifier "FUN_000334e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17215;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17215" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17215")) (; ";")) (expression_statement "FUN_000335f0();" (call_expression "FUN_000335f0()" (identifier "FUN_000335f0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_001c3850 = 0;" (assignment_expression "DAT_001c3850 = 0" (identifier "DAT_001c3850") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar22 = *(undefined4 **)(puVar16 + -0xc);" (assignment_expression "puVar22 = *(undefined4 **)(puVar16 + -0xc)" (identifier "puVar22") (= "=") (pointer_expression "*(undefined4 **)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 **)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar16 + -0xc) = piVar11[1];" (assignment_expression "*(int *)(puVar16 + -0xc) = piVar11[1]" (pointer_expression "*(int *)(puVar16 + -0xc)" (* "*") (cast_expression "(int *)(puVar16 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = *piVar11;" (assignment_expression "*(int *)(puVar16 + -0x10) = *piVar11" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "local_38 = (FILE *)&DAT_001c3850;" (assignment_expression "local_38 = (FILE *)&DAT_001c3850" (identifier "local_38") (= "=") (cast_expression "(FILE *)&DAT_001c3850" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_001c3850" (& "&") (identifier "DAT_001c3850")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17230;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17230" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17230")) (; ";")) (expression_statement "FUN_0001d500();" (call_expression "FUN_0001d500()" (identifier "FUN_0001d500") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_4c[0x18] != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }" (if "if") (parenthesized_expression "(local_4c[0x18] != 0)" (( "(") (binary_expression "local_4c[0x18] != 0" (subscript_expression "local_4c[0x18]" (identifier "local_4c") ([ "[") (number_literal "0x18") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];\n      *(undefined4 *)(puVar16 + -0x14) = 0x17940;\n      bfd_hash_set_default_size();\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = local_4c[0x18]" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_4c[0x18]" (identifier "local_4c") ([ "[") (number_literal "0x18") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17940;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17940" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17940")) (; ";")) (expression_statement "bfd_hash_set_default_size();" (call_expression "bfd_hash_set_default_size()" (identifier "bfd_hash_set_default_size") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17246;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17246" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x17246")) (; ";")) (expression_statement "FUN_00038400();" (call_expression "FUN_00038400()" (identifier "FUN_00038400") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1724b;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1724b" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1724b")) (; ";")) (expression_statement "FUN_000336d0();" (call_expression "FUN_000336d0()" (identifier "FUN_000336d0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (DAT_001c39d8 == 0) {\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }\n    else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }" (if "if") (parenthesized_expression "(DAT_001c39d8 == 0)" (( "(") (binary_expression "DAT_001c39d8 == 0" (identifier "DAT_001c39d8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }\n      piVar11 = &DAT_001c4568;\n      *(int **)(puVar16 + -0x10) = local_24;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;\n      pFVar6 = (FILE *)FUN_00033730();\n      if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }\n      puVar22 = &DAT_001c36a0;\n      DAT_001c4568 = 1;\n      *(undefined4 *)(puVar16 + -4) = 0x179d2;\n      FUN_00017f60();\n      DAT_001c36a0 = (FILE *)0x0;\n      if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }\n    }" ({ "{") (if_statement "if (local_44[0x16] != 0) {\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }" (if "if") (parenthesized_expression "(local_44[0x16] != 0)" (( "(") (binary_expression "local_44[0x16] != 0" (subscript_expression "local_44[0x16]" (identifier "local_44") ([ "[") (number_literal "0x16") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];\n        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;\n        FUN_00035ce0();\n        piVar11 = &DAT_001c4568;\n        DAT_001c4568 = 1;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17970;\n        FUN_00017f60();\n        if (DAT_001c39d8 != 0) goto LAB_00017258;\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -0x10) = local_44[0x16];" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = local_44[0x16]" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_44[0x16]" (identifier "local_44") ([ "[") (number_literal "0x16") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1795f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1795f" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1795f")) (; ";")) (expression_statement "FUN_00035ce0();" (call_expression "FUN_00035ce0()" (identifier "FUN_00035ce0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar11 = &DAT_001c4568;" (assignment_expression "piVar11 = &DAT_001c4568" (identifier "piVar11") (= "=") (pointer_expression "&DAT_001c4568" (& "&") (identifier "DAT_001c4568"))) (; ";")) (expression_statement "DAT_001c4568 = 1;" (assignment_expression "DAT_001c4568 = 1" (identifier "DAT_001c4568") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17970;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17970" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17970")) (; ";")) (expression_statement "FUN_00017f60();" (call_expression "FUN_00017f60()" (identifier "FUN_00017f60") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (DAT_001c39d8 != 0) goto LAB_00017258;" (if "if") (parenthesized_expression "(DAT_001c39d8 != 0)" (( "(") (binary_expression "DAT_001c39d8 != 0" (identifier "DAT_001c39d8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00017258;" (goto "goto") (statement_identifier "LAB_00017258") (; ";"))) (} "}"))) (expression_statement "piVar11 = &DAT_001c4568;" (assignment_expression "piVar11 = &DAT_001c4568" (identifier "piVar11") (= "=") (pointer_expression "&DAT_001c4568" (& "&") (identifier "DAT_001c4568"))) (; ";")) (expression_statement "*(int **)(puVar16 + -0x10) = local_24;" (assignment_expression "*(int **)(puVar16 + -0x10) = local_24" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_24")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1798c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1798c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1798c")) (; ";")) (expression_statement "pFVar6 = (FILE *)FUN_00033730();" (assignment_expression "pFVar6 = (FILE *)FUN_00033730()" (identifier "pFVar6") (= "=") (cast_expression "(FILE *)FUN_00033730()" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00033730()" (identifier "FUN_00033730") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (local_24[0] == 0) {\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }\n      else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }" (if "if") (parenthesized_expression "(local_24[0] == 0)" (( "(") (binary_expression "local_24[0] == 0" (subscript_expression "local_24[0]" (identifier "local_24") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_34 = pFVar6;\n        *(FILE **)(puVar16 + -4) = pFVar6;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "built in linker script";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;\n        DAT_001c36a0 = pFVar6;\n        uVar7 = dcgettext();\n        pFVar6 = local_34;\n        *(undefined4 *)(puVar16 + -8) = 1;\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;\n        FUN_0001d090();\n      }" ({ "{") (expression_statement "local_34 = pFVar6;" (assignment_expression "local_34 = pFVar6" (identifier "local_34") (= "=") (identifier "pFVar6")) (; ";")) (expression_statement "*(FILE **)(puVar16 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -4)" (* "*") (cast_expression "(FILE **)(puVar16 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pFVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "built in linker script";" (assignment_expression "*(char **)(puVar16 + -0xc) = "built in linker script"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""built in linker script"" (" """) (string_content "built in linker script") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x179b5;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x179b5" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x179b5")) (; ";")) (expression_statement "DAT_001c36a0 = pFVar6;" (assignment_expression "DAT_001c36a0 = pFVar6" (identifier "DAT_001c36a0") (= "=") (identifier "pFVar6")) (; ";")) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" (identifier "uVar7") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pFVar6 = local_34;" (assignment_expression "pFVar6 = local_34" (identifier "pFVar6") (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(FILE **)(puVar16 + -0x10) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x179c4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x179c4" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x179c4")) (; ";")) (expression_statement "FUN_0001d090();" (call_expression "FUN_0001d090()" (identifier "FUN_0001d090") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }" (else "else") (compound_statement "{\n        *(FILE **)(puVar16 + -0x10) = pFVar6;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;\n        FUN_00035cf0();\n      }" ({ "{") (expression_statement "*(FILE **)(puVar16 + -0x10) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b37;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b37" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17b37")) (; ";")) (expression_statement "FUN_00035cf0();" (call_expression "FUN_00035cf0()" (identifier "FUN_00035cf0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar22 = &DAT_001c36a0;" (assignment_expression "puVar22 = &DAT_001c36a0" (identifier "puVar22") (= "=") (pointer_expression "&DAT_001c36a0" (& "&") (identifier "DAT_001c36a0"))) (; ";")) (expression_statement "DAT_001c4568 = 1;" (assignment_expression "DAT_001c4568 = 1" (identifier "DAT_001c4568") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x179d2;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x179d2" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x179d2")) (; ";")) (expression_statement "FUN_00017f60();" (call_expression "FUN_00017f60()" (identifier "FUN_00017f60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_001c36a0 = (FILE *)0x0;" (assignment_expression "DAT_001c36a0 = (FILE *)0x0" (identifier "DAT_001c36a0") (= "=") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (DAT_001c475c != 0) {\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }" (if "if") (parenthesized_expression "(DAT_001c475c != 0)" (( "(") (binary_expression "DAT_001c475c != 0" (identifier "DAT_001c475c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (DAT_001c39d8 != 0) goto LAB_00017845;\n        pcVar5 = "using internal linker script:";\n        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        goto LAB_0001784e;\n      }" ({ "{") (if_statement "if (DAT_001c39d8 != 0) goto LAB_00017845;" (if "if") (parenthesized_expression "(DAT_001c39d8 != 0)" (( "(") (binary_expression "DAT_001c39d8 != 0" (identifier "DAT_001c39d8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00017845;" (goto "goto") (statement_identifier "LAB_00017845") (; ";"))) (expression_statement "pcVar5 = "using internal linker script:";" (assignment_expression "pcVar5 = "using internal linker script:"" (identifier "pcVar5") (= "=") (string_literal ""using internal linker script:"" (" """) (string_content "using internal linker script:") (" """))) (; ";")) (expression_statement "*(undefined4 **)(puVar16 + -4) = &DAT_001c4568;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = &DAT_001c4568" (pointer_expression "*(undefined4 **)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 **)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&DAT_001c4568" (& "&") (identifier "DAT_001c4568"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (goto_statement "goto LAB_0001784e;" (goto "goto") (statement_identifier "LAB_0001784e") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }" (else "else") (compound_statement "{\nLAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }\n    }" ({ "{") (labeled_statement "LAB_00017258:\n      if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }" (statement_identifier "LAB_00017258") (: ":") (if_statement "if (DAT_001c475c != 0) {\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }" (if "if") (parenthesized_expression "(DAT_001c475c != 0)" (( "(") (binary_expression "DAT_001c475c != 0" (identifier "DAT_001c475c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        pcVar5 = "using external linker script:";\n        *(undefined4 *)(puVar16 + -8) = 5;\nLAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17856;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;\n        FUN_00034d90();\n        local_34 = (FILE *)0x8076c;\n        *(char **)(puVar16 + -0x10) = "\n==================================================\n";\n        *(undefined4 *)(puVar16 + -0x14) = 0x17873;\n        FUN_00034d90();\n        if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        *(FILE **)(puVar16 + -0x10) = local_34;\n        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;\n        FUN_00034d90();\n      }" ({ "{") (labeled_statement "LAB_00017845:\n        *(undefined4 **)(puVar16 + -4) = puVar22;" (statement_identifier "LAB_00017845") (: ":") (expression_statement "*(undefined4 **)(puVar16 + -4) = puVar22;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = puVar22" (pointer_expression "*(undefined4 **)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 **)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "puVar22")) (; ";"))) (expression_statement "pcVar5 = "using external linker script:";" (assignment_expression "pcVar5 = "using external linker script:"" (identifier "pcVar5") (= "=") (string_literal ""using external linker script:"" (" """) (string_content "using external linker script:") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (labeled_statement "LAB_0001784e:\n        *(char **)(puVar16 + -0xc) = pcVar5;" (statement_identifier "LAB_0001784e") (: ":") (expression_statement "*(char **)(puVar16 + -0xc) = pcVar5;" (assignment_expression "*(char **)(puVar16 + -0xc) = pcVar5" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pcVar5")) (; ";"))) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17856;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17856" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17856")) (; ";")) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" (identifier "uVar7") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1785e;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1785e" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1785e")) (; ";")) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" (identifier "FUN_00034d90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_34 = (FILE *)0x8076c;" (assignment_expression "local_34 = (FILE *)0x8076c" (identifier "local_34") (= "=") (cast_expression "(FILE *)0x8076c" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8076c"))) (; ";")) (expression_statement "*(char **)(puVar16 + -0x10) = "\n==================================================\n";" (assignment_expression "*(char **)(puVar16 + -0x10) = "\n==================================================\n"" (pointer_expression "*(char **)(puVar16 + -0x10)" (* "*") (cast_expression "(char **)(puVar16 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""\n==================================================\n"" (" """) (escape_sequence "\n") (string_content "==================================================") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17873;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17873" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17873")) (; ";")) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" (identifier "FUN_00034d90") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (DAT_001c39d8 == 0) {\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }\n        else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }" (if "if") (parenthesized_expression "(DAT_001c39d8 == 0)" (( "(") (binary_expression "DAT_001c39d8 == 0" (identifier "DAT_001c39d8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(int **)(puVar16 + -0x10) = local_24;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;\n          uVar7 = FUN_00033730();\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;\n          FUN_00034d90();\n        }" ({ "{") (expression_statement "*(int **)(puVar16 + -0x10) = local_24;" (assignment_expression "*(int **)(puVar16 + -0x10) = local_24" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_24")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a32;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a32" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17a32")) (; ";")) (expression_statement "uVar7 = FUN_00033730();" (assignment_expression "uVar7 = FUN_00033730()" (identifier "uVar7") (= "=") (call_expression "FUN_00033730()" (identifier "FUN_00033730") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a3a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a3a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17a3a")) (; ";")) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" (identifier "FUN_00034d90") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }" (else "else") (compound_statement "{\n          puVar22 = (undefined4 *)&DAT_0007ee86;\n          *(undefined4 *)(puVar16 + -0x10) = 0x2001;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17896;\n          piVar11 = (int *)xmalloc();\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }\n          *(int *)(puVar16 + -0x10) = DAT_001c39d8;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;\n          rewind(*(FILE **)(puVar16 + -0x10));\n          *(int **)(puVar16 + -0x10) = piVar11;\n          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;\n          free(*(void **)(puVar16 + -0x10));\n        }" ({ "{") (expression_statement "puVar22 = (undefined4 *)&DAT_0007ee86;" (assignment_expression "puVar22 = (undefined4 *)&DAT_0007ee86" (identifier "puVar22") (= "=") (cast_expression "(undefined4 *)&DAT_0007ee86" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0007ee86" (& "&") (identifier "DAT_0007ee86")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0x2001;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0x2001" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x2001")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17896;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17896" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17896")) (; ";")) (expression_statement "piVar11 = (int *)xmalloc();" (assignment_expression "piVar11 = (int *)xmalloc()" (identifier "piVar11") (= "=") (cast_expression "(int *)xmalloc()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc()" (identifier "xmalloc") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = DAT_001c39d8;" (assignment_expression "*(int *)(puVar16 + -0x10) = DAT_001c39d8" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_001c39d8")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178a4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178a4" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x178a4")) (; ";")) (expression_statement "rewind(*(FILE **)(puVar16 + -0x10));" (call_expression "rewind(*(FILE **)(puVar16 + -0x10))" (identifier "rewind") (argument_list "(*(FILE **)(puVar16 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar16 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (while_statement "while( true ) {\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            *(int *)(puVar16 + -4) = DAT_001c39d8;\n            *(undefined4 *)(puVar16 + -8) = 0x2000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(int **)(puVar16 + -0x10) = piVar11;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 == 0) break;\n            *(undefined1 *)((int)piVar11 + sVar4) = 0;\n            *(int **)(puVar16 + -0xc) = piVar11;\n            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;\n            *(undefined4 *)(puVar16 + -0x14) = 0x178be;\n            FUN_00034d90();\n          }" ({ "{") (expression_statement "*(int *)(puVar16 + -4) = DAT_001c39d8;" (assignment_expression "*(int *)(puVar16 + -4) = DAT_001c39d8" (pointer_expression "*(int *)(puVar16 + -4)" (* "*") (cast_expression "(int *)(puVar16 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "DAT_001c39d8")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 0x2000;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 0x2000" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x2000")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int **)(puVar16 + -0x10) = piVar11;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar11" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178d4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178d4" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x178d4")) (; ";")) (expression_statement "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));" (assignment_expression "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" (identifier "sVar4") (= "=") (call_expression "fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" (identifier "fread") (argument_list "(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" (( "(") (pointer_expression "*(void **)(puVar16 + -0x10)" (* "*") (cast_expression "(void **)(puVar16 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar16 + -0xc)" (* "*") (cast_expression "(size_t *)(puVar16 + -0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar16 + -8)" (* "*") (cast_expression "(size_t *)(puVar16 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar16 + -4)" (* "*") (cast_expression "(FILE **)(puVar16 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) () ")")))) (; ";")) (if_statement "if (sVar4 == 0) break;" (if "if") (parenthesized_expression "(sVar4 == 0)" (( "(") (binary_expression "sVar4 == 0" (identifier "sVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*(undefined1 *)((int)piVar11 + sVar4) = 0;" (assignment_expression "*(undefined1 *)((int)piVar11 + sVar4) = 0" (pointer_expression "*(undefined1 *)((int)piVar11 + sVar4)" (* "*") (cast_expression "(undefined1 *)((int)piVar11 + sVar4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + sVar4)" (( "(") (binary_expression "(int)piVar11 + sVar4" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (identifier "sVar4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int **)(puVar16 + -0xc) = piVar11;" (assignment_expression "*(int **)(puVar16 + -0xc) = piVar11" (pointer_expression "*(int **)(puVar16 + -0xc)" (* "*") (cast_expression "(int **)(puVar16 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "piVar11")) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = &DAT_0007ee86" (pointer_expression "*(undefined **)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&DAT_0007ee86" (& "&") (identifier "DAT_0007ee86"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178be;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178be" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x178be")) (; ";")) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" (identifier "FUN_00034d90") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar16 + -0x10) = DAT_001c39d8;" (assignment_expression "*(int *)(puVar16 + -0x10) = DAT_001c39d8" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_001c39d8")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178e9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178e9" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x178e9")) (; ";")) (expression_statement "rewind(*(FILE **)(puVar16 + -0x10));" (call_expression "rewind(*(FILE **)(puVar16 + -0x10))" (identifier "rewind") (argument_list "(*(FILE **)(puVar16 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar16 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int **)(puVar16 + -0x10) = piVar11;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar11" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178f1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178f1" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x178f1")) (; ";")) (expression_statement "free(*(void **)(puVar16 + -0x10));" (call_expression "free(*(void **)(puVar16 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar16 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar16 + -0x10)" (* "*") (cast_expression "(void **)(puVar16 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")))) (expression_statement "*(FILE **)(puVar16 + -0x10) = local_34;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = local_34" (pointer_expression "*(FILE **)(puVar16 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x178ff;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x178ff" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x178ff")) (; ";")) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" (identifier "FUN_00034d90") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" (identifier "uVar14") (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_44[0xb] == 0) {\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }" (if "if") (parenthesized_expression "(local_44[0xb] == 0)" (( "(") (binary_expression "local_44[0xb] == 0" (subscript_expression "local_44[0xb]" (identifier "local_44") ([ "[") (number_literal "0xb") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_34 = (FILE *)((uint)local_34 & 0xffffff00);\n      uVar14 = (uint)((*local_3c & 3) != 2);\n    }" ({ "{") (expression_statement "local_34 = (FILE *)((uint)local_34 & 0xffffff00);" (assignment_expression "local_34 = (FILE *)((uint)local_34 & 0xffffff00)" (identifier "local_34") (= "=") (cast_expression "(FILE *)((uint)local_34 & 0xffffff00)" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_34 & 0xffffff00)" (( "(") (binary_expression "(uint)local_34 & 0xffffff00" (cast_expression "(uint)local_34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_34")) (& "&") (number_literal "0xffffff00")) () ")")))) (; ";")) (expression_statement "uVar14 = (uint)((*local_3c & 3) != 2);" (assignment_expression "uVar14 = (uint)((*local_3c & 3) != 2)" (identifier "uVar14") (= "=") (call_expression "(uint)((*local_3c & 3) != 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*local_3c & 3) != 2)" (( "(") (binary_expression "(*local_3c & 3) != 2" (parenthesized_expression "(*local_3c & 3)" (( "(") (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" (* "*") (identifier "local_3c")) (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "2")) () ")")))) (; ";")) (} "}"))) (expression_statement "local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);" (assignment_expression "local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1])" (identifier "local_34") (= "=") (cast_expression "(FILE *)CONCAT31(local_34._1_3_,local_3c[1])" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_34._1_3_,local_3c[1])" (identifier "CONCAT31") (argument_list "(local_34._1_3_,local_3c[1])" (( "(") (field_expression "local_34._1_3_" (identifier "local_34") (. ".") (field_identifier "_1_3_")) (, ",") (subscript_expression "local_3c[1]" (identifier "local_3c") ([ "[") (number_literal "1") (] "]")) () ")"))))) (; ";")) (expression_statement "local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);" (assignment_expression "local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4)" (subscript_expression "local_3c[1]" (identifier "local_3c") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "local_3c[1] & 0xef | (byte)(uVar14 << 4)" (binary_expression "local_3c[1] & 0xef" (subscript_expression "local_3c[1]" (identifier "local_3c") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xef")) (| "|") (call_expression "(byte)(uVar14 << 4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar14 << 4)" (( "(") (binary_expression "uVar14 << 4" (identifier "uVar14") (<< "<<") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (local_44[9] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }" (if "if") (parenthesized_expression "(local_44[9] != 0)" (( "(") (binary_expression "local_44[9] != 0" (subscript_expression "local_44[9]" (identifier "local_44") ([ "[") (number_literal "9") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x17920;\n      uVar26 = FUN_00026cc0();\n      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);\n      *(undefined8 *)(puVar16 + -0xc) = uVar26;\n      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;\n      FUN_00034d90();\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17920;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17920" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x17920")) (; ";")) (expression_statement "uVar26 = FUN_00026cc0();" (assignment_expression "uVar26 = FUN_00026cc0()" (identifier "uVar26") (= "=") (call_expression "FUN_00026cc0()" (identifier "FUN_00026cc0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);" (assignment_expression "*(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20)" (pointer_expression "*(int *)(puVar16 + -4)" (* "*") (cast_expression "(int *)(puVar16 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (cast_expression "(int)((ulonglong)uVar26 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar26 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar26")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)(puVar16 + -0xc) = uVar26;" (assignment_expression "*(undefined8 *)(puVar16 + -0xc) = uVar26" (pointer_expression "*(undefined8 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined8 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar26")) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x10) = &DAT_000814fd;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = &DAT_000814fd" (pointer_expression "*(undefined **)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&DAT_000814fd" (& "&") (identifier "DAT_000814fd"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1792f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1792f" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1792f")) (; ";")) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" (identifier "FUN_00034d90") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x172ad;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x172ad" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x172ad")) (; ";")) (expression_statement "FUN_000289a0();" (call_expression "FUN_000289a0()" (identifier "FUN_000289a0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;" (if "if") (parenthesized_expression "((*local_48 == 2) && (DAT_001c45c0 != 0))" (( "(") (binary_expression "(*local_48 == 2) && (DAT_001c45c0 != 0)" (parenthesized_expression "(*local_48 == 2)" (( "(") (binary_expression "*local_48 == 2" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(DAT_001c45c0 != 0)" (( "(") (binary_expression "DAT_001c45c0 != 0" (identifier "DAT_001c45c0") (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000172f3;" (goto "goto") (statement_identifier "LAB_000172f3") (; ";"))) (if_statement "if ((local_3c[7] & 0x20) != 0) {\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }" (if "if") (parenthesized_expression "((local_3c[7] & 0x20) != 0)" (( "(") (binary_expression "(local_3c[7] & 0x20) != 0" (parenthesized_expression "(local_3c[7] & 0x20)" (( "(") (binary_expression "local_3c[7] & 0x20" (subscript_expression "local_3c[7]" (identifier "local_3c") ([ "[") (number_literal "7") (] "]")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);\n      if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }\n    }" ({ "{") (expression_statement "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);" (assignment_expression "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c)" (identifier "local_34") (= "=") (cast_expression "(FILE *)CONCAT31(local_34._1_3_,*local_3c)" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_34._1_3_,*local_3c)" (identifier "CONCAT31") (argument_list "(local_34._1_3_,*local_3c)" (( "(") (field_expression "local_34._1_3_" (identifier "local_34") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*local_3c" (* "*") (identifier "local_3c")) () ")"))))) (; ";")) (if_statement "if ((*local_3c & 3) != 3) {\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }" (if "if") (parenthesized_expression "((*local_3c & 3) != 3)" (( "(") (binary_expression "(*local_3c & 3) != 3" (parenthesized_expression "(*local_3c & 3)" (( "(") (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" (* "*") (identifier "local_3c")) (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n        *(undefined4 **)(puVar16 + -4) = puVar22;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17680;\n        uVar7 = dcgettext();\n        *(undefined4 *)(puVar16 + -0x10) = uVar7;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17688;\n        FUN_00034dc0();\n      }" ({ "{") (expression_statement "*(undefined4 **)(puVar16 + -4) = puVar22;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = puVar22" (pointer_expression "*(undefined4 **)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 **)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "puVar22")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%F%P: --no-define-common may not be used without -shared\n"" (" """) (string_content "%F%P: --no-define-common may not be used without -shared") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17680;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17680" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17680")) (; ";")) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" (identifier "uVar7") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17688;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17688" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17688")) (; ";")) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" (identifier "FUN_00034dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pFVar6 = local_38;" (assignment_expression "pFVar6 = local_38" (identifier "pFVar6") (= "=") (identifier "local_38")) (; ";")) (if_statement "if (local_38->_flags == 0) {\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }" (if "if") (parenthesized_expression "(local_38->_flags == 0)" (( "(") (binary_expression "local_38->_flags == 0" (field_expression "local_38->_flags" (identifier "local_38") (-> "->") (field_identifier "_flags")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;\n      *(int **)(puVar16 + -4) = piVar11;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;\n      uVar7 = dcgettext();\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17524;\n      pFVar6 = (FILE *)FUN_00034dc0();\n    }" ({ "{") (if_statement "if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;" (if "if") (parenthesized_expression "(DAT_001c45c0 != 0 || local_44[9] != 0)" (( "(") (binary_expression "DAT_001c45c0 != 0 || local_44[9] != 0" (binary_expression "DAT_001c45c0 != 0" (identifier "DAT_001c45c0") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_44[9] != 0" (subscript_expression "local_44[9]" (identifier "local_44") ([ "[") (number_literal "9") (] "]")) (!= "!=") (number_literal "0"))) () ")")) (goto_statement "goto LAB_000172f3;" (goto "goto") (statement_identifier "LAB_000172f3") (; ";"))) (expression_statement "*(int **)(puVar16 + -4) = piVar11;" (assignment_expression "*(int **)(puVar16 + -4) = piVar11" (pointer_expression "*(int **)(puVar16 + -4)" (* "*") (cast_expression "(int **)(puVar16 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "piVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: no input files\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: no input files\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%F%P: no input files\n"" (" """) (string_content "%F%P: no input files") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1751c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1751c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1751c")) (; ";")) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" (identifier "uVar7") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17524;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17524" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17524")) (; ";")) (expression_statement "pFVar6 = (FILE *)FUN_00034dc0();" (assignment_expression "pFVar6 = (FILE *)FUN_00034dc0()" (identifier "pFVar6") (= "=") (cast_expression "(FILE *)FUN_00034dc0()" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00034dc0()" (identifier "FUN_00034dc0") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}"))) (if_statement "if (DAT_001c4768 != 0) {\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }" (if "if") (parenthesized_expression "(DAT_001c4768 != 0)" (( "(") (binary_expression "DAT_001c4768 != 0" (identifier "DAT_001c4768") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(FILE **)(puVar16 + -4) = pFVar6;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;\n      uVar7 = dcgettext();\n      *(byte **)(puVar16 + -0xc) = local_54;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;\n      FUN_00034d90();\n    }" ({ "{") (expression_statement "*(FILE **)(puVar16 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -4)" (* "*") (cast_expression "(FILE **)(puVar16 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pFVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "%P: mode %s\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%P: mode %s\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%P: mode %s\n"" (" """) (string_content "%P: mode %s") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x176aa;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x176aa" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x176aa")) (; ";")) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" (identifier "uVar7") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(byte **)(puVar16 + -0xc) = local_54;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_54" (pointer_expression "*(byte **)(puVar16 + -0xc)" (* "*") (cast_expression "(byte **)(puVar16 + -0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x176b5;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x176b5" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x176b5")) (; ";")) (expression_statement "FUN_00034d90();" (call_expression "FUN_00034d90()" (identifier "FUN_00034d90") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1753b;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1753b" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1753b")) (; ";")) (expression_statement "FUN_000335d0();" (call_expression "FUN_000335d0()" (identifier "FUN_000335d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar22 = local_4c;" (assignment_expression "puVar22 = local_4c" (identifier "puVar22") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "iVar13 = local_4c[0x13];" (assignment_expression "iVar13 = local_4c[0x13]" (identifier "iVar13") (= "=") (subscript_expression "local_4c[0x13]" (identifier "local_4c") ([ "[") (number_literal "0x13") (] "]"))) (; ";")) (if_statement "if (iVar13 != 0) {\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 **)(puVar16 + -4) = local_4c;\n      *(undefined4 **)(puVar16 + -8) = puVar22;\n      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;\n      *(int *)(puVar16 + -0x10) = iVar13;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17554;\n      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n      if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }\n    }" ({ "{") (expression_statement "*(undefined4 **)(puVar16 + -4) = local_4c;" (assignment_expression "*(undefined4 **)(puVar16 + -4) = local_4c" (pointer_expression "*(undefined4 **)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 **)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "*(undefined4 **)(puVar16 + -8) = puVar22;" (assignment_expression "*(undefined4 **)(puVar16 + -8) = puVar22" (pointer_expression "*(undefined4 **)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 **)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "puVar22")) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_000700e6;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_000700e6" (pointer_expression "*(undefined **)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&DAT_000700e6" (& "&") (identifier "DAT_000700e6"))) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17554;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17554" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17554")) (; ";")) (expression_statement "iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "iVar8") (= "=") (call_expression "strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar16 + -0x10)" (* "*") (cast_expression "(char **)(puVar16 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }\n      else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;\n      }" ({ "{") (expression_statement "local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;" (assignment_expression "local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc" (subscript_expression "local_4c[0x14]" (identifier "local_4c") ([ "[") (number_literal "0x14") (] "]")) (= "=") (pointer_expression "*(undefined4 *)PTR_stdout_001c1fdc" (* "*") (cast_expression "(undefined4 *)PTR_stdout_001c1fdc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_001c1fdc")))) (; ";")) (} "}")) (else_clause "else {\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }" (else "else") (compound_statement "{\n        *(int *)(puVar16 + -4) = iVar8;\n        *(int *)(puVar16 + -8) = iVar8;\n        *(char **)(puVar16 + -0xc) = "w";\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;\n        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n        local_4c[0x14] = pFVar6;\n        if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }\n      }" ({ "{") (expression_statement "*(int *)(puVar16 + -4) = iVar8;" (assignment_expression "*(int *)(puVar16 + -4) = iVar8" (pointer_expression "*(int *)(puVar16 + -4)" (* "*") (cast_expression "(int *)(puVar16 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(int *)(puVar16 + -8) = iVar8;" (assignment_expression "*(int *)(puVar16 + -8) = iVar8" (pointer_expression "*(int *)(puVar16 + -8)" (* "*") (cast_expression "(int *)(puVar16 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "w";" (assignment_expression "*(char **)(puVar16 + -0xc) = "w"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""w"" (" """) (string_content "w") (" """))) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a5c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17a5c")) (; ";")) (expression_statement "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "pFVar6") (= "=") (call_expression "fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "fopen64") (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar16 + -0x10)" (* "*") (cast_expression "(char **)(puVar16 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "local_4c[0x14] = pFVar6;" (assignment_expression "local_4c[0x14] = pFVar6" (subscript_expression "local_4c[0x14]" (identifier "local_4c") ([ "[") (number_literal "0x14") (] "]")) (= "=") (identifier "pFVar6")) (; ";")) (if_statement "if (pFVar6 == (FILE *)0x0) {\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }" (if "if") (parenthesized_expression "(pFVar6 == (FILE *)0x0)" (( "(") (binary_expression "pFVar6 == (FILE *)0x0" (identifier "pFVar6") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar16 + -0x10) = 1;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;\n          bfd_set_error();\n          uVar7 = local_4c[0x13];\n          *(undefined4 *)(puVar16 + -8) = 5;\n          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";\n          *(undefined4 *)(puVar16 + -0x10) = 0;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar16 + -0xc) = uVar7;\n          *(undefined4 *)(puVar16 + -0x10) = uVar12;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;\n          FUN_00034dc0();\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a77;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a77" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17a77")) (; ";")) (expression_statement "bfd_set_error();" (call_expression "bfd_set_error()" (identifier "bfd_set_error") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar7 = local_4c[0x13];" (assignment_expression "uVar7 = local_4c[0x13]" (identifier "uVar7") (= "=") (subscript_expression "local_4c[0x13]" (identifier "local_4c") ([ "[") (number_literal "0x13") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%F%P: cannot open map file %s: %E\n"" (" """) (string_content "%F%P: cannot open map file %s: %E") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a90;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a90" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17a90")) (; ";")) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" (identifier "uVar12") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17a99;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17a99" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17a99")) (; ";")) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" (identifier "FUN_00034dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17572;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17572" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x17572")) (; ";")) (expression_statement "FUN_0002aa30();" (call_expression "FUN_0002aa30()" (identifier "FUN_0002aa30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);" (assignment_expression "local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c)" (identifier "local_34") (= "=") (cast_expression "(FILE *)CONCAT31(local_34._1_3_,*local_3c)" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_34._1_3_,*local_3c)" (identifier "CONCAT31") (argument_list "(local_34._1_3_,*local_3c)" (( "(") (field_expression "local_34._1_3_" (identifier "local_34") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*local_3c" (* "*") (identifier "local_3c")) () ")"))))) (; ";")) (if_statement "if ((*local_3c & 3) == 2) {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }\n    else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }" (if "if") (parenthesized_expression "((*local_3c & 3) == 2)" (( "(") (binary_expression "(*local_3c & 3) == 2" (parenthesized_expression "(*local_3c & 3)" (( "(") (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" (* "*") (identifier "local_3c")) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 & 0xffffffbf;\n    }" ({ "{") (expression_statement "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);" (assignment_expression "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(*(int *)(local_3c + 0x34) + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_3c + 0x34) + 0x28)" (( "(") (binary_expression "*(int *)(local_3c + 0x34) + 0x28" (pointer_expression "*(int *)(local_3c + 0x34)" (* "*") (cast_expression "(int *)(local_3c + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_3c + 0x34)" (( "(") (binary_expression "local_3c + 0x34" (identifier "local_3c") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0x28")) () ")")))) (; ";")) (expression_statement "*puVar1 = *puVar1 & 0xffffffbf;" (assignment_expression "*puVar1 = *puVar1 & 0xffffffbf" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 & 0xffffffbf" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (& "&") (number_literal "0xffffffbf"))) (; ";")) (} "}")) (else_clause "else {\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }" (else "else") (compound_statement "{\n      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);\n      *puVar1 = *puVar1 | 0x40;\n    }" ({ "{") (expression_statement "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);" (assignment_expression "puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(*(int *)(local_3c + 0x34) + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_3c + 0x34) + 0x28)" (( "(") (binary_expression "*(int *)(local_3c + 0x34) + 0x28" (pointer_expression "*(int *)(local_3c + 0x34)" (* "*") (cast_expression "(int *)(local_3c + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_3c + 0x34)" (( "(") (binary_expression "local_3c + 0x34" (identifier "local_3c") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0x28")) () ")")))) (; ";")) (expression_statement "*puVar1 = *puVar1 | 0x40;" (assignment_expression "*puVar1 = *puVar1 | 0x40" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 | 0x40" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (| "|") (number_literal "0x40"))) (; ";")) (} "}")))) (if_statement "if ((*(uint *)(local_3c + 0xc) & 1) != 0) {\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }" (if "if") (parenthesized_expression "((*(uint *)(local_3c + 0xc) & 1) != 0)" (( "(") (binary_expression "(*(uint *)(local_3c + 0xc) & 1) != 0" (parenthesized_expression "(*(uint *)(local_3c + 0xc) & 1)" (( "(") (binary_expression "*(uint *)(local_3c + 0xc) & 1" (pointer_expression "*(uint *)(local_3c + 0xc)" (* "*") (cast_expression "(uint *)(local_3c + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_3c + 0xc)" (( "(") (binary_expression "local_3c + 0xc" (identifier "local_3c") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_34 = *(FILE **)(local_3c + 0x34);\n      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;\n      uVar14 = uVar15 | 0x24000;\n      if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }\n      local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);\n    }" ({ "{") (expression_statement "local_34 = *(FILE **)(local_3c + 0x34);" (assignment_expression "local_34 = *(FILE **)(local_3c + 0x34)" (identifier "local_34") (= "=") (pointer_expression "*(FILE **)(local_3c + 0x34)" (* "*") (cast_expression "(FILE **)(local_3c + 0x34)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_3c + 0x34)" (( "(") (binary_expression "local_3c + 0x34" (identifier "local_3c") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;" (assignment_expression "uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff" (identifier "uVar15") (= "=") (binary_expression "(uint)local_34->_IO_backup_base >> 5 & 0xfffff" (binary_expression "(uint)local_34->_IO_backup_base >> 5" (cast_expression "(uint)local_34->_IO_backup_base" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_34->_IO_backup_base" (identifier "local_34") (-> "->") (field_identifier "_IO_backup_base"))) (>> ">>") (number_literal "5")) (& "&") (number_literal "0xfffff"))) (; ";")) (expression_statement "uVar14 = uVar15 | 0x24000;" (assignment_expression "uVar14 = uVar15 | 0x24000" (identifier "uVar14") (= "=") (binary_expression "uVar15 | 0x24000" (identifier "uVar15") (| "|") (number_literal "0x24000"))) (; ";")) (if_statement "if (*(uint *)(local_3c + 0xc) != 5) {\n        uVar14 = uVar15 | 0x4000;\n      }" (if "if") (parenthesized_expression "(*(uint *)(local_3c + 0xc) != 5)" (( "(") (binary_expression "*(uint *)(local_3c + 0xc) != 5" (pointer_expression "*(uint *)(local_3c + 0xc)" (* "*") (cast_expression "(uint *)(local_3c + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_3c + 0xc)" (( "(") (binary_expression "local_3c + 0xc" (identifier "local_3c") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\n        uVar14 = uVar15 | 0x4000;\n      }" ({ "{") (expression_statement "uVar14 = uVar15 | 0x4000;" (assignment_expression "uVar14 = uVar15 | 0x4000" (identifier "uVar14") (= "=") (binary_expression "uVar15 | 0x4000" (identifier "uVar15") (| "|") (number_literal "0x4000"))) (; ";")) (} "}"))) (expression_statement "local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);" (assignment_expression "local_34->_IO_backup_base =\n           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f)" (field_expression "local_34->_IO_backup_base" (identifier "local_34") (-> "->") (field_identifier "_IO_backup_base")) (= "=") (cast_expression "(char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f)" (( "(") (binary_expression "uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f" (binary_expression "uVar14 << 5" (identifier "uVar14") (<< "<<") (number_literal "5")) (| "|") (binary_expression "(uint)local_34->_IO_backup_base & 0xfe00001f" (cast_expression "(uint)local_34->_IO_backup_base" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_34->_IO_backup_base" (identifier "local_34") (-> "->") (field_identifier "_IO_backup_base"))) (& "&") (number_literal "0xfe00001f"))) () ")")))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x175dd;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x175dd" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x175dd")) (; ";")) (expression_statement "FUN_00030220();" (call_expression "FUN_00030220()" (identifier "FUN_00030220") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar22 = local_4c;" (assignment_expression "puVar22 = local_4c" (identifier "puVar22") (= "=") (identifier "local_4c")) (; ";")) (if_statement "if (local_4c[0x14] == 0) {\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }" (if "if") (parenthesized_expression "(local_4c[0x14] == 0)" (( "(") (binary_expression "local_4c[0x14] == 0" (subscript_expression "local_4c[0x14]" (identifier "local_4c") ([ "[") (number_literal "0x14") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }\n    }" ({ "{") (if_statement "if (local_44[3] != 0) {\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }" (if "if") (parenthesized_expression "(local_44[3] != 0)" (( "(") (binary_expression "local_44[3] != 0" (subscript_expression "local_44[3]" (identifier "local_44") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;\n        goto LAB_00017603;\n      }" ({ "{") (labeled_statement "LAB_00017a0f:\n        iVar13 = *(int *)PTR_stdout_001c1fdc;" (statement_identifier "LAB_00017a0f") (: ":") (expression_statement "iVar13 = *(int *)PTR_stdout_001c1fdc;" (assignment_expression "iVar13 = *(int *)PTR_stdout_001c1fdc" (identifier "iVar13") (= "=") (pointer_expression "*(int *)PTR_stdout_001c1fdc" (* "*") (cast_expression "(int *)PTR_stdout_001c1fdc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_001c1fdc")))) (; ";"))) (goto_statement "goto LAB_00017603;" (goto "goto") (statement_identifier "LAB_00017603") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }" (else "else") (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x175ef;\n      FUN_00026210();\n      if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x175ef;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x175ef" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x175ef")) (; ";")) (expression_statement "FUN_00026210();" (call_expression "FUN_00026210()" (identifier "FUN_00026210") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_44[3] != 0) {\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }" (if "if") (parenthesized_expression "(local_44[3] != 0)" (( "(") (binary_expression "local_44[3] != 0" (subscript_expression "local_44[3]" (identifier "local_44") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar13 = puVar22[0x14];\n        if (iVar13 == 0) goto LAB_00017a0f;\nLAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;\n        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;\n        FUN_00036a30();\n      }" ({ "{") (expression_statement "iVar13 = puVar22[0x14];" (assignment_expression "iVar13 = puVar22[0x14]" (identifier "iVar13") (= "=") (subscript_expression "puVar22[0x14]" (identifier "puVar22") ([ "[") (number_literal "0x14") (] "]"))) (; ";")) (if_statement "if (iVar13 == 0) goto LAB_00017a0f;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00017a0f;" (goto "goto") (statement_identifier "LAB_00017a0f") (; ";"))) (labeled_statement "LAB_00017603:\n        *(int *)(puVar16 + -0x10) = iVar13;" (statement_identifier "LAB_00017603") (: ":") (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar13")) (; ";"))) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1760c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1760c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1760c")) (; ";")) (expression_statement "FUN_00036a30();" (call_expression "FUN_00036a30()" (identifier "FUN_00036a30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (DAT_001c4574 != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }" (if "if") (parenthesized_expression "(DAT_001c4574 != 0)" (( "(") (binary_expression "DAT_001c4574 != 0" (identifier "DAT_001c4574") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x1761f;\n      FUN_00036e50();\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1761f;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1761f" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1761f")) (; ";")) (expression_statement "FUN_00036e50();" (call_expression "FUN_00036e50()" (identifier "FUN_00036e50") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_44[10] != 0) {\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }" (if "if") (parenthesized_expression "(local_44[10] != 0)" (( "(") (binary_expression "local_44[10] != 0" (subscript_expression "local_44[10]" (identifier "local_44") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar16 + -4) = 0x17a21;\n      FUN_0002d150();\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17a21;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17a21" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x17a21")) (; ";")) (expression_statement "FUN_0002d150();" (call_expression "FUN_0002d150()" (identifier "FUN_0002d150") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17631;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17631" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x17631")) (; ";")) (expression_statement "FUN_00033570();" (call_expression "FUN_00033570()" (identifier "FUN_00033570") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17636;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17636" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x17636")) (; ";")) (expression_statement "FUN_00024010();" (call_expression "FUN_00024010()" (identifier "FUN_00024010") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar2 = PTR_s_a_out_001c241c;" (assignment_expression "puVar2 = PTR_s_a_out_001c241c" (identifier "puVar2") (= "=") (identifier "PTR_s_a_out_001c241c")) (; ";")) (if_statement "if (local_4c[1] != 0 || DAT_001c39d0 != 0) {\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }" (if "if") (parenthesized_expression "(local_4c[1] != 0 || DAT_001c39d0 != 0)" (( "(") (binary_expression "local_4c[1] != 0 || DAT_001c39d0 != 0" (binary_expression "local_4c[1] != 0" (subscript_expression "local_4c[1]" (identifier "local_4c") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "DAT_001c39d0 != 0" (identifier "DAT_001c39d0") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);\n      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;\n      iVar13 = bfd_close();\n      if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }\n      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }\n      if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }\n      PTR_s_a_out_001c241c = (undefined *)0x0;\nLAB_000172f3:\n      puVar17 = puVar16 + -0x10;\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;\n      pFVar6 = (FILE *)xexit();\n      do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);\n      iVar13 = 7;\n      pbVar19 = pbVar9;\n      pbVar21 = local_58;\n      do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);\n      cVar3 = (!bVar23 && !bVar24) - bVar23;\n      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);\n      if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00017328;\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34)" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(local_3c + 0x34)" (* "*") (cast_expression "(undefined4 *)(local_3c + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_3c + 0x34)" (( "(") (binary_expression "local_3c + 0x34" (identifier "local_3c") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x176cb;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x176cb" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x176cb")) (; ";")) (expression_statement "iVar13 = bfd_close();" (assignment_expression "iVar13 = bfd_close()" (identifier "iVar13") (= "=") (call_expression "bfd_close()" (identifier "bfd_close") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar13 == 0) {\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar7 = *(undefined4 *)(local_3c + 0x34);\n        *(byte **)(puVar16 + -4) = local_3c;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;\n        uVar12 = dcgettext();\n        *(undefined4 *)(puVar16 + -0xc) = uVar7;\n        *(undefined4 *)(puVar16 + -0x10) = uVar12;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;\n        FUN_00034dc0();\n      }" ({ "{") (expression_statement "uVar7 = *(undefined4 *)(local_3c + 0x34);" (assignment_expression "uVar7 = *(undefined4 *)(local_3c + 0x34)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(local_3c + 0x34)" (* "*") (cast_expression "(undefined4 *)(local_3c + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_3c + 0x34)" (( "(") (binary_expression "local_3c + 0x34" (identifier "local_3c") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(byte **)(puVar16 + -4) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -4) = local_3c" (pointer_expression "*(byte **)(puVar16 + -4)" (* "*") (cast_expression "(byte **)(puVar16 + -4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%F%P: %pB: final close failed: %E\n"" (" """) (string_content "%F%P: %pB: final close failed: %E") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b1d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b1d" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17b1d")) (; ";")) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" (identifier "uVar12") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b26;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b26" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17b26")) (; ";")) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" (identifier "FUN_00034dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(((*local_3c & 3) != 2) && (local_44[2] != 0))" (( "(") (binary_expression "((*local_3c & 3) != 2) && (local_44[2] != 0)" (parenthesized_expression "((*local_3c & 3) != 2)" (( "(") (binary_expression "(*local_3c & 3) != 2" (parenthesized_expression "(*local_3c & 3)" (( "(") (binary_expression "*local_3c & 3" (pointer_expression "*local_3c" (* "*") (identifier "local_3c")) (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(local_44[2] != 0)" (( "(") (binary_expression "local_44[2] != 0" (subscript_expression "local_44[2]" (identifier "local_44") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        uVar14 = 0xffffffff;\n        pcVar5 = PTR_s_a_out_001c241c;\n        do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');\n        uVar14 = ~uVar14;\n        if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }\n      }" ({ "{") (expression_statement "uVar14 = 0xffffffff;" (assignment_expression "uVar14 = 0xffffffff" (identifier "uVar14") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "pcVar5 = PTR_s_a_out_001c241c;" (assignment_expression "pcVar5 = PTR_s_a_out_001c241c" (identifier "pcVar5") (= "=") (identifier "PTR_s_a_out_001c241c")) (; ";")) (do_statement "do {\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        } while (cVar3 != '\0');" (do "do") (compound_statement "{\n          if (uVar14 == 0) break;\n          uVar14 = uVar14 - 1;\n          cVar3 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;\n        }" ({ "{") (if_statement "if (uVar14 == 0) break;" (if "if") (parenthesized_expression "(uVar14 == 0)" (( "(") (binary_expression "uVar14 == 0" (identifier "uVar14") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar14 = uVar14 - 1;" (assignment_expression "uVar14 = uVar14 - 1" (identifier "uVar14") (= "=") (binary_expression "uVar14 - 1" (identifier "uVar14") (- "-") (number_literal "1"))) (; ";")) (expression_statement "cVar3 = *pcVar5;" (assignment_expression "cVar3 = *pcVar5" (identifier "cVar3") (= "=") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5"))) (; ";")) (expression_statement "pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;" (assignment_expression "pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1" (identifier "pcVar5") (= "=") (binary_expression "pcVar5 + (uint)bVar25 * -2 + 1" (binary_expression "pcVar5 + (uint)bVar25 * -2" (identifier "pcVar5") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (expression_statement "uVar14 = ~uVar14;" (assignment_expression "uVar14 = ~uVar14" (identifier "uVar14") (= "=") (unary_expression "~uVar14" (~ "~") (identifier "uVar14"))) (; ";")) (if_statement "if (uVar14 - 1 < 4) {\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }\n        else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }" (if "if") (parenthesized_expression "(uVar14 - 1 < 4)" (( "(") (binary_expression "uVar14 - 1 < 4" (binary_expression "uVar14 - 1" (identifier "uVar14") (- "-") (number_literal "1")) (< "<") (number_literal "4")) () ")")) (compound_statement "{\nLAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17755;\n          uVar7 = xmalloc();\n          *(uint *)(puVar16 + -0x10) = uVar14 + 4;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;\n          pbVar9 = (byte *)xmalloc();\n          puVar2 = PTR_s_a_out_001c241c;\n          local_3c = pbVar9;\n          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;\n          *(byte **)(puVar16 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17771;\n          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          builtin_strncpy(pcVar5,".exe",5);\n          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;\n          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          local_34 = pFVar6;\n          *(char **)(puVar16 + -0xc) = "w";\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;\n          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }\n          if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }\n          local_40 = "%P: error writing file `%s\'\n";\n          while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }\n          *(FILE **)(puVar16 + -0x10) = local_34;\n          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;\n          fclose(*(FILE **)(puVar16 + -0x10));\n          *(FILE **)(puVar16 + -0x10) = local_38;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17807;\n          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));\n          if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }\n          *(byte **)(puVar16 + -0x10) = local_3c;\n          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;\n          free(*(void **)(puVar16 + -0x10));\n          *(undefined4 *)(puVar16 + -0x10) = uVar7;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17826;\n          free(*(void **)(puVar16 + -0x10));\n        }" ({ "{") (labeled_statement "LAB_00017745:\n          *(undefined4 *)(puVar16 + -0x10) = 0x1000;" (statement_identifier "LAB_00017745") (: ":") (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0x1000;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0x1000" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x1000")) (; ";"))) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17755;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17755" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17755")) (; ";")) (expression_statement "uVar7 = xmalloc();" (assignment_expression "uVar7 = xmalloc()" (identifier "uVar7") (= "=") (call_expression "xmalloc()" (identifier "xmalloc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint *)(puVar16 + -0x10) = uVar14 + 4;" (assignment_expression "*(uint *)(puVar16 + -0x10) = uVar14 + 4" (pointer_expression "*(uint *)(puVar16 + -0x10)" (* "*") (cast_expression "(uint *)(puVar16 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "uVar14 + 4" (identifier "uVar14") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1775f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1775f" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1775f")) (; ";")) (expression_statement "pbVar9 = (byte *)xmalloc();" (assignment_expression "pbVar9 = (byte *)xmalloc()" (identifier "pbVar9") (= "=") (cast_expression "(byte *)xmalloc()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc()" (identifier "xmalloc") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar2 = PTR_s_a_out_001c241c;" (assignment_expression "puVar2 = PTR_s_a_out_001c241c" (identifier "puVar2") (= "=") (identifier "PTR_s_a_out_001c241c")) (; ";")) (expression_statement "local_3c = pbVar9;" (assignment_expression "local_3c = pbVar9" (identifier "local_3c") (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c" (pointer_expression "*(undefined **)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "PTR_s_a_out_001c241c")) (; ";")) (expression_statement "*(byte **)(puVar16 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar16 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar16 + -0x10)" (* "*") (cast_expression "(byte **)(puVar16 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17771;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17771" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17771")) (; ";")) (expression_statement "pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "pcVar5") (= "=") (call_expression "stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "stpcpy") (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar16 + -0x10)" (* "*") (cast_expression "(char **)(puVar16 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "builtin_strncpy(pcVar5,".exe",5);" (call_expression "builtin_strncpy(pcVar5,".exe",5)" (identifier "builtin_strncpy") (argument_list "(pcVar5,".exe",5)" (( "(") (identifier "pcVar5") (, ",") (string_literal "".exe"" (" """) (string_content ".exe") (" """)) (, ",") (number_literal "5") () ")"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_0007dadc" (pointer_expression "*(undefined **)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&DAT_0007dadc" (& "&") (identifier "DAT_0007dadc"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x10) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1778a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1778a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1778a")) (; ";")) (expression_statement "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "pFVar6") (= "=") (call_expression "fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "fopen64") (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar16 + -0x10)" (* "*") (cast_expression "(char **)(puVar16 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "local_34 = pFVar6;" (assignment_expression "local_34 = pFVar6" (identifier "local_34") (= "=") (identifier "pFVar6")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "w";" (assignment_expression "*(char **)(puVar16 + -0xc) = "w"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""w"" (" """) (string_content "w") (" """))) (; ";")) (expression_statement "*(byte **)(puVar16 + -0x10) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0x10) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0x10)" (* "*") (cast_expression "(byte **)(puVar16 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177a0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177a0" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x177a0")) (; ";")) (expression_statement "local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "local_38") (= "=") (call_expression "fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "fopen64") (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar16 + -0x10)" (* "*") (cast_expression "(char **)(puVar16 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (pFVar6 == (FILE *)0x0) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }" (if "if") (parenthesized_expression "(pFVar6 == (FILE *)0x0)" (( "(") (binary_expression "pFVar6 == (FILE *)0x0" (identifier "pFVar6") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            local_40 = PTR_s_a_out_001c241c;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;\n            uVar12 = dcgettext();\n            *(char **)(puVar16 + -0xc) = local_40;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;\n            FUN_00034dc0();\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%F%P: unable to open for source of copy `%s\'\n"" (" """) (string_content "%F%P: unable to open for source of copy `%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = PTR_s_a_out_001c241c;" (assignment_expression "local_40 = PTR_s_a_out_001c241c" (identifier "local_40") (= "=") (identifier "PTR_s_a_out_001c241c")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bef;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bef" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17bef")) (; ";")) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" (identifier "uVar12") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = local_40;" (assignment_expression "*(char **)(puVar16 + -0xc) = local_40" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bfb;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bfb" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17bfb")) (; ";")) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" (identifier "FUN_00034dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_38 == (FILE *)0x0) {\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }" (if "if") (parenthesized_expression "(local_38 == (FILE *)0x0)" (( "(") (binary_expression "local_38 == (FILE *)0x0" (identifier "local_38") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *(FILE **)(puVar16 + -4) = pFVar6;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;\n            FUN_00034dc0();\n          }" ({ "{") (expression_statement "*(FILE **)(puVar16 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar16 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar16 + -4)" (* "*") (cast_expression "(FILE **)(puVar16 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pFVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%F%P: unable to open for destination of copy `%s\'\n"" (" """) (string_content "%F%P: unable to open for destination of copy `%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bc2;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bc2" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17bc2")) (; ";")) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" (identifier "uVar12") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(byte **)(puVar16 + -0xc) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0xc)" (* "*") (cast_expression "(byte **)(puVar16 + -0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17bcd;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17bcd" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17bcd")) (; ";")) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" (identifier "FUN_00034dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_40 = "%P: error writing file `%s\'\n";" (assignment_expression "local_40 = "%P: error writing file `%s\'\n"" (identifier "local_40") (= "=") (string_literal ""%P: error writing file `%s\'\n"" (" """) (string_content "%P: error writing file `%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (while_statement "while( true ) {\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            *(FILE **)(puVar16 + -4) = local_34;\n            *(undefined4 *)(puVar16 + -8) = 0x1000;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;\n            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if ((int)sVar4 < 1) break;\n            *(FILE **)(puVar16 + -4) = local_38;\n            *(size_t *)(puVar16 + -8) = sVar4;\n            *(undefined4 *)(puVar16 + -0xc) = 1;\n            *(undefined4 *)(puVar16 + -0x10) = uVar7;\n            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;\n            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));\n            if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }\n          }" ({ "{") (expression_statement "*(FILE **)(puVar16 + -4) = local_34;" (assignment_expression "*(FILE **)(puVar16 + -4) = local_34" (pointer_expression "*(FILE **)(puVar16 + -4)" (* "*") (cast_expression "(FILE **)(puVar16 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 0x1000;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 0x1000" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1000")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177ea;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177ea" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x177ea")) (; ";")) (expression_statement "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));" (assignment_expression "sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" (identifier "sVar4") (= "=") (call_expression "fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" (identifier "fread") (argument_list "(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" (( "(") (pointer_expression "*(void **)(puVar16 + -0x10)" (* "*") (cast_expression "(void **)(puVar16 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar16 + -0xc)" (* "*") (cast_expression "(size_t *)(puVar16 + -0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar16 + -8)" (* "*") (cast_expression "(size_t *)(puVar16 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar16 + -4)" (* "*") (cast_expression "(FILE **)(puVar16 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) () ")")))) (; ";")) (if_statement "if ((int)sVar4 < 1) break;" (if "if") (parenthesized_expression "((int)sVar4 < 1)" (( "(") (binary_expression "(int)sVar4 < 1" (cast_expression "(int)sVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar4")) (< "<") (number_literal "1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*(FILE **)(puVar16 + -4) = local_38;" (assignment_expression "*(FILE **)(puVar16 + -4) = local_38" (pointer_expression "*(FILE **)(puVar16 + -4)" (* "*") (cast_expression "(FILE **)(puVar16 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_38")) (; ";")) (expression_statement "*(size_t *)(puVar16 + -8) = sVar4;" (assignment_expression "*(size_t *)(puVar16 + -8) = sVar4" (pointer_expression "*(size_t *)(puVar16 + -8)" (* "*") (cast_expression "(size_t *)(puVar16 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "sVar4")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177cf;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177cf" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x177cf")) (; ";")) (expression_statement "sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));" (assignment_expression "sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" (identifier "sVar10") (= "=") (call_expression "fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" (identifier "fwrite") (argument_list "(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),\n                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4))" (( "(") (pointer_expression "*(void **)(puVar16 + -0x10)" (* "*") (cast_expression "(void **)(puVar16 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar16 + -0xc)" (* "*") (cast_expression "(size_t *)(puVar16 + -0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar16 + -8)" (* "*") (cast_expression "(size_t *)(puVar16 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar16 + -4)" (* "*") (cast_expression "(FILE **)(puVar16 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) () ")")))) (; ";")) (if_statement "if (sVar4 != sVar10) {\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }" (if "if") (parenthesized_expression "(sVar4 != sVar10)" (( "(") (binary_expression "sVar4 != sVar10" (identifier "sVar4") (!= "!=") (identifier "sVar10")) () ")")) (compound_statement "{\n              *(size_t *)(puVar16 + -4) = sVar10;\n              *(undefined4 *)(puVar16 + -8) = 5;\n              *(char **)(puVar16 + -0xc) = local_40;\n              *(undefined4 *)(puVar16 + -0x10) = 0;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;\n              uVar12 = dcgettext();\n              *(byte **)(puVar16 + -0xc) = local_3c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar12;\n              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;\n              FUN_00034dc0();\n            }" ({ "{") (expression_statement "*(size_t *)(puVar16 + -4) = sVar10;" (assignment_expression "*(size_t *)(puVar16 + -4) = sVar10" (pointer_expression "*(size_t *)(puVar16 + -4)" (* "*") (cast_expression "(size_t *)(puVar16 + -4)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "sVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = local_40;" (assignment_expression "*(char **)(puVar16 + -0xc) = local_40" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b7a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b7a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17b7a")) (; ";")) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" (identifier "uVar12") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(byte **)(puVar16 + -0xc) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0xc)" (* "*") (cast_expression "(byte **)(puVar16 + -0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b85;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b85" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17b85")) (; ";")) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" (identifier "FUN_00034dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(FILE **)(puVar16 + -0x10) = local_34;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = local_34" (pointer_expression "*(FILE **)(puVar16 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x177fe;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x177fe" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x177fe")) (; ";")) (expression_statement "fclose(*(FILE **)(puVar16 + -0x10));" (call_expression "fclose(*(FILE **)(puVar16 + -0x10))" (identifier "fclose") (argument_list "(*(FILE **)(puVar16 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar16 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(FILE **)(puVar16 + -0x10) = local_38;" (assignment_expression "*(FILE **)(puVar16 + -0x10) = local_38" (pointer_expression "*(FILE **)(puVar16 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_38")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17807;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17807" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17807")) (; ";")) (expression_statement "iVar13 = fclose(*(FILE **)(puVar16 + -0x10));" (assignment_expression "iVar13 = fclose(*(FILE **)(puVar16 + -0x10))" (identifier "iVar13") (= "=") (call_expression "fclose(*(FILE **)(puVar16 + -0x10))" (identifier "fclose") (argument_list "(*(FILE **)(puVar16 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar16 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar13 == -1) {\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }" (if "if") (parenthesized_expression "(iVar13 == -1)" (( "(") (binary_expression "iVar13 == -1" (identifier "iVar13") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            *(undefined4 *)(puVar16 + -4) = 0;\n            *(undefined4 *)(puVar16 + -8) = 5;\n            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";\n            *(undefined4 *)(puVar16 + -0x10) = 0;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;\n            uVar12 = dcgettext();\n            *(byte **)(puVar16 + -0xc) = local_3c;\n            *(undefined4 *)(puVar16 + -0x10) = uVar12;\n            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;\n            FUN_00034dc0();\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%P: error closing file `%s\'\n"" (" """) (string_content "%P: error closing file `%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b9e;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b9e" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17b9e")) (; ";")) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" (identifier "uVar12") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(byte **)(puVar16 + -0xc) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0xc) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0xc)" (* "*") (cast_expression "(byte **)(puVar16 + -0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17ba9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17ba9" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17ba9")) (; ";")) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" (identifier "FUN_00034dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(byte **)(puVar16 + -0x10) = local_3c;" (assignment_expression "*(byte **)(puVar16 + -0x10) = local_3c" (pointer_expression "*(byte **)(puVar16 + -0x10)" (* "*") (cast_expression "(byte **)(puVar16 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1781e;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1781e" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1781e")) (; ";")) (expression_statement "free(*(void **)(puVar16 + -0x10));" (call_expression "free(*(void **)(puVar16 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar16 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar16 + -0x10)" (* "*") (cast_expression "(void **)(puVar16 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17826;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17826" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17826")) (; ";")) (expression_statement "free(*(void **)(puVar16 + -0x10));" (call_expression "free(*(void **)(puVar16 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar16 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar16 + -0x10)" (* "*") (cast_expression "(void **)(puVar16 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")) (else_clause "else {\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }" (else "else") (compound_statement "{\n          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);\n          *(undefined4 *)(puVar16 + -4) = 0;\n          *(undefined4 *)(puVar16 + -8) = 0;\n          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;\n          *(undefined **)(puVar16 + -0x10) = puVar2;\n          *(undefined4 *)(puVar16 + -0x14) = 0x17720;\n          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n          if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }\n        }" ({ "{") (expression_statement "puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);" (assignment_expression "puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5)" (identifier "puVar2") (= "=") (binary_expression "PTR_s_a_out_001c241c + (uVar14 - 5)" (identifier "PTR_s_a_out_001c241c") (+ "+") (parenthesized_expression "(uVar14 - 5)" (( "(") (binary_expression "uVar14 - 5" (identifier "uVar14") (- "-") (number_literal "5")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_00080d7d" (pointer_expression "*(undefined **)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&DAT_00080d7d" (& "&") (identifier "DAT_00080d7d"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x10) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17720;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17720" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17720")) (; ";")) (expression_statement "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "strcasecmp") (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar16 + -0x10)" (* "*") (cast_expression "(char **)(puVar16 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar13 != 0) {\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(int *)(puVar16 + -4) = iVar13;\n            *(int *)(puVar16 + -8) = iVar13;\n            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;\n            *(undefined **)(puVar16 + -0x10) = puVar2;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;\n            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));\n            if (iVar13 != 0) goto LAB_00017745;\n          }" ({ "{") (expression_statement "*(int *)(puVar16 + -4) = iVar13;" (assignment_expression "*(int *)(puVar16 + -4) = iVar13" (pointer_expression "*(int *)(puVar16 + -4)" (* "*") (cast_expression "(int *)(puVar16 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)(puVar16 + -8) = iVar13;" (assignment_expression "*(int *)(puVar16 + -8) = iVar13" (pointer_expression "*(int *)(puVar16 + -8)" (* "*") (cast_expression "(int *)(puVar16 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0xc) = &DAT_00080d82;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = &DAT_00080d82" (pointer_expression "*(undefined **)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&DAT_00080d82" (& "&") (identifier "DAT_00080d82"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x10) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0x10) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1773a;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1773a" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1773a")) (; ";")) (expression_statement "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));" (assignment_expression "iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (identifier "strcasecmp") (argument_list "(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar16 + -0x10)" (* "*") (cast_expression "(char **)(puVar16 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar13 != 0) goto LAB_00017745;" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00017745;" (goto "goto") (statement_identifier "LAB_00017745") (; ";"))) (} "}"))) (} "}")))) (} "}"))) (if_statement "if (local_4c[0xd] != 0) {\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }" (if "if") (parenthesized_expression "(local_4c[0xd] != 0)" (( "(") (binary_expression "local_4c[0xd] != 0" (subscript_expression "local_4c[0xd]" (identifier "local_4c") ([ "[") (number_literal "0xd") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar16 + -4) = 0x17aa6;\n        iVar13 = FUN_0006f170();\n        local_34 = (FILE *)(iVar13 - local_5c);\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;\n        fflush(*(FILE **)(puVar16 + -0x10));\n        uVar7 = *local_60;\n        *(undefined4 *)(puVar16 + -8) = 5;\n        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";\n        *(undefined4 *)(puVar16 + -0x10) = 0;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;\n        uVar12 = dcgettext();\n        puVar2 = PTR_stderr_001c1fa8;\n        iVar13 = (int)local_34 / 1000000;\n        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;\n        *(int *)(puVar16 + -0x14) = iVar13;\n        *(undefined4 *)(puVar16 + -0x18) = uVar7;\n        *(undefined4 *)(puVar16 + -0x1c) = uVar12;\n        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;\n        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;\n        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));\n        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;\n        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;\n        fflush(*(FILE **)(puVar16 + -0x10));\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x17aa6;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x17aa6" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x17aa6")) (; ";")) (expression_statement "iVar13 = FUN_0006f170();" (assignment_expression "iVar13 = FUN_0006f170()" (identifier "iVar13") (= "=") (call_expression "FUN_0006f170()" (identifier "FUN_0006f170") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_34 = (FILE *)(iVar13 - local_5c);" (assignment_expression "local_34 = (FILE *)(iVar13 - local_5c)" (identifier "local_34") (= "=") (cast_expression "(FILE *)(iVar13 - local_5c)" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 - local_5c)" (( "(") (binary_expression "iVar13 - local_5c" (identifier "iVar13") (- "-") (identifier "local_5c")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)PTR_stdout_001c1fdc" (* "*") (cast_expression "(undefined4 *)PTR_stdout_001c1fdc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_001c1fdc")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17ac1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17ac1" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17ac1")) (; ";")) (expression_statement "fflush(*(FILE **)(puVar16 + -0x10));" (call_expression "fflush(*(FILE **)(puVar16 + -0x10))" (identifier "fflush") (argument_list "(*(FILE **)(puVar16 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar16 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar7 = *local_60;" (assignment_expression "uVar7 = *local_60" (identifier "uVar7") (= "=") (pointer_expression "*local_60" (* "*") (identifier "local_60"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%s: total time in link: %ld.%06ld\n"" (" """) (string_content "%s: total time in link: %ld.%06ld") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17ad9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17ad9" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17ad9")) (; ";")) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" (identifier "uVar12") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar2 = PTR_stderr_001c1fa8;" (assignment_expression "puVar2 = PTR_stderr_001c1fa8" (identifier "puVar2") (= "=") (identifier "PTR_stderr_001c1fa8")) (; ";")) (expression_statement "iVar13 = (int)local_34 / 1000000;" (assignment_expression "iVar13 = (int)local_34 / 1000000" (identifier "iVar13") (= "=") (binary_expression "(int)local_34 / 1000000" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (/ "/") (number_literal "1000000"))) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_34 % 1000000" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_34 % 1000000" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (% "%") (number_literal "1000000"))) (; ";")) (expression_statement "*(int *)(puVar16 + -0x14) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x14) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x14)" (* "*") (cast_expression "(int *)(puVar16 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x18) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x18) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x18)" (( "(") (binary_expression "puVar16 + -0x18" (identifier "puVar16") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar16 + -0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar16 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x1c)" (( "(") (binary_expression "puVar16 + -0x1c" (identifier "puVar16") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8" (pointer_expression "*(undefined4 *)(puVar16 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x20)" (( "(") (binary_expression "puVar16 + -0x20" (identifier "puVar16") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)PTR_stderr_001c1fa8" (* "*") (cast_expression "(undefined4 *)PTR_stderr_001c1fa8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_001c1fa8")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x17af4;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x17af4" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x24)" (( "(") (binary_expression "puVar16 + -0x24" (identifier "puVar16") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x17af4")) (; ";")) (expression_statement "fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));" (call_expression "fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c))" (identifier "fprintf") (argument_list "(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c))" (( "(") (pointer_expression "*(FILE **)(puVar16 + -0x20)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x20)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x20)" (( "(") (binary_expression "puVar16 + -0x20" (identifier "puVar16") (+ "+") (number_literal "-0x20")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar16 + -0x1c)" (* "*") (cast_expression "(char **)(puVar16 + -0x1c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x1c)" (( "(") (binary_expression "puVar16 + -0x1c" (identifier "puVar16") (+ "+") (number_literal "-0x1c")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)puVar2" (* "*") (cast_expression "(undefined4 *)puVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17afe;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17afe" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17afe")) (; ";")) (expression_statement "fflush(*(FILE **)(puVar16 + -0x10));" (call_expression "fflush(*(FILE **)(puVar16 + -0x10))" (identifier "fflush") (argument_list "(*(FILE **)(puVar16 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar16 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar16 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "PTR_s_a_out_001c241c = (undefined *)0x0;" (assignment_expression "PTR_s_a_out_001c241c = (undefined *)0x0" (identifier "PTR_s_a_out_001c241c") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_000172f3:\n      puVar17 = puVar16 + -0x10;" (statement_identifier "LAB_000172f3") (: ":") (expression_statement "puVar17 = puVar16 + -0x10;" (assignment_expression "puVar17 = puVar16 + -0x10" (identifier "puVar17") (= "=") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x172fd;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x172fd" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x172fd")) (; ";")) (expression_statement "pFVar6 = (FILE *)xexit();" (assignment_expression "pFVar6 = (FILE *)xexit()" (identifier "pFVar6") (= "=") (cast_expression "(FILE *)xexit()" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xexit()" (identifier "xexit") (argument_list "()" (( "(") () ")"))))) (; ";")) (do_statement "do {\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      } while (bVar24);" (do "do") (compound_statement "{\n        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }\nLAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);\n        bVar23 = false;\n        bVar24 = pbVar9[2] == 0;\n      }" ({ "{") (if_statement "if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }\n        else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }" (if "if") (parenthesized_expression "((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27))" (( "(") (binary_expression "(int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)" (cast_expression "(int)pFVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pFVar6")) (< "<") (cast_expression "(int)(local_38[-1]._unused2 + 0x27)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_38[-1]._unused2 + 0x27)" (( "(") (binary_expression "local_38[-1]._unused2 + 0x27" (field_expression "local_38[-1]._unused2" (subscript_expression "local_38[-1]" (identifier "local_38") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "_unused2")) (+ "+") (number_literal "0x27")) () ")")))) () ")")) (compound_statement "{\n          local_34 = (FILE *)((int)&pFVar6->_flags + 2);\n          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);\n        }" ({ "{") (expression_statement "local_34 = (FILE *)((int)&pFVar6->_flags + 2);" (assignment_expression "local_34 = (FILE *)((int)&pFVar6->_flags + 2)" (identifier "local_34") (= "=") (cast_expression "(FILE *)((int)&pFVar6->_flags + 2)" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pFVar6->_flags + 2)" (( "(") (binary_expression "(int)&pFVar6->_flags + 2" (cast_expression "(int)&pFVar6->_flags" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pFVar6->_flags" (& "&") (field_expression "pFVar6->_flags" (identifier "pFVar6") (-> "->") (field_identifier "_flags")))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);" (assignment_expression "local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4)" (identifier "local_54") (= "=") (pointer_expression "*(byte **)(local_40 + (int)pFVar6 * 4 + 4)" (* "*") (cast_expression "(byte **)(local_40 + (int)pFVar6 * 4 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_40 + (int)pFVar6 * 4 + 4)" (( "(") (binary_expression "local_40 + (int)pFVar6 * 4 + 4" (binary_expression "local_40 + (int)pFVar6 * 4" (identifier "local_40") (+ "+") (binary_expression "(int)pFVar6 * 4" (cast_expression "(int)pFVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pFVar6")) (* "*") (number_literal "4"))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }" (else "else") (compound_statement "{\n          *(FILE **)(puVar17 + -4) = pFVar6;\n          *(undefined4 *)(puVar17 + -8) = 5;\n          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";\n          *(undefined4 *)(puVar17 + -0x10) = 0;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;\n          uVar7 = dcgettext();\n          *(undefined4 *)(puVar17 + -0x10) = uVar7;\n          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;\n          FUN_00034dc0();\n        }" ({ "{") (expression_statement "*(FILE **)(puVar17 + -4) = pFVar6;" (assignment_expression "*(FILE **)(puVar17 + -4) = pFVar6" (pointer_expression "*(FILE **)(puVar17 + -4)" (* "*") (cast_expression "(FILE **)(puVar17 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pFVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%F%P: missing argument to -m\n"" (" """) (string_content "%F%P: missing argument to -m") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x174c3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x174c3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x174c3")) (; ";")) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" (identifier "uVar7") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x174cb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x174cb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x174cb")) (; ";")) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" (identifier "FUN_00034dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_00017328:\n        do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);" (statement_identifier "LAB_00017328") (: ":") (do_statement "do {\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        } while ((!bVar23 && !bVar24) != bVar23);" (do "do") (compound_statement "{\n          bVar23 = local_38 < local_34;\n          bVar24 = local_38 == local_34;\n          pFVar6 = local_34;\n          puVar16 = puVar17;\n          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;\nLAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);\n          iVar13 = 2;\n          pbVar19 = pbVar9;\n          pbVar21 = local_50;\n          do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);\n          local_34 = (FILE *)((int)&pFVar6->_flags + 1);\n        }" ({ "{") (expression_statement "bVar23 = local_38 < local_34;" (assignment_expression "bVar23 = local_38 < local_34" (identifier "bVar23") (= "=") (binary_expression "local_38 < local_34" (identifier "local_38") (< "<") (identifier "local_34"))) (; ";")) (expression_statement "bVar24 = local_38 == local_34;" (assignment_expression "bVar24 = local_38 == local_34" (identifier "bVar24") (= "=") (binary_expression "local_38 == local_34" (identifier "local_38") (== "==") (identifier "local_34"))) (; ";")) (expression_statement "pFVar6 = local_34;" (assignment_expression "pFVar6 = local_34" (identifier "pFVar6") (= "=") (identifier "local_34")) (; ";")) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" (identifier "puVar16") (= "=") (identifier "puVar17")) (; ";")) (if_statement "if ((int)local_38 <= (int)local_34) goto LAB_000171e4;" (if "if") (parenthesized_expression "((int)local_38 <= (int)local_34)" (( "(") (binary_expression "(int)local_38 <= (int)local_34" (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38")) (<= "<=") (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34"))) () ")")) (goto_statement "goto LAB_000171e4;" (goto "goto") (statement_identifier "LAB_000171e4") (; ";"))) (labeled_statement "LAB_00017334:\n          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);" (statement_identifier "LAB_00017334") (: ":") (expression_statement "pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);" (assignment_expression "pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4)" (identifier "pbVar9") (= "=") (pointer_expression "*(byte **)(local_40 + (int)pFVar6 * 4)" (* "*") (cast_expression "(byte **)(local_40 + (int)pFVar6 * 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_40 + (int)pFVar6 * 4)" (( "(") (binary_expression "local_40 + (int)pFVar6 * 4" (identifier "local_40") (+ "+") (binary_expression "(int)pFVar6 * 4" (cast_expression "(int)pFVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pFVar6")) (* "*") (number_literal "4"))) () ")"))))) (; ";"))) (expression_statement "iVar13 = 2;" (assignment_expression "iVar13 = 2" (identifier "iVar13") (= "=") (number_literal "2")) (; ";")) (expression_statement "pbVar19 = pbVar9;" (assignment_expression "pbVar19 = pbVar9" (identifier "pbVar19") (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "pbVar21 = local_50;" (assignment_expression "pbVar21 = local_50" (identifier "pbVar21") (= "=") (identifier "local_50")) (; ";")) (do_statement "do {\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          } while (bVar24);" (do "do") (compound_statement "{\n            if (iVar13 == 0) break;\n            iVar13 = iVar13 + -1;\n            bVar23 = *pbVar19 < *pbVar21;\n            bVar24 = *pbVar19 == *pbVar21;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar13 == 0) break;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + -1" (identifier "iVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar19 < *pbVar21;" (assignment_expression "bVar23 = *pbVar19 < *pbVar21" (identifier "bVar23") (= "=") (binary_expression "*pbVar19 < *pbVar21" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "bVar24 = *pbVar19 == *pbVar21;" (assignment_expression "bVar24 = *pbVar19 == *pbVar21" (identifier "bVar24") (= "=") (binary_expression "*pbVar19 == *pbVar21" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "local_34 = (FILE *)((int)&pFVar6->_flags + 1);" (assignment_expression "local_34 = (FILE *)((int)&pFVar6->_flags + 1)" (identifier "local_34") (= "=") (cast_expression "(FILE *)((int)&pFVar6->_flags + 1)" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pFVar6->_flags + 1)" (( "(") (binary_expression "(int)&pFVar6->_flags + 1" (cast_expression "(int)&pFVar6->_flags" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pFVar6->_flags" (& "&") (field_expression "pFVar6->_flags" (identifier "pFVar6") (-> "->") (field_identifier "_flags")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((!bVar23 && !bVar24) != bVar23)" (( "(") (binary_expression "(!bVar23 && !bVar24) != bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" (( "(") (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (!= "!=") (identifier "bVar23")) () ")")) (; ";"))) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = pbVar9[2] == 0;" (assignment_expression "bVar24 = pbVar9[2] == 0" (identifier "bVar24") (= "=") (binary_expression "pbVar9[2] == 0" (subscript_expression "pbVar9[2]" (identifier "pbVar9") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "iVar13 = 7;" (assignment_expression "iVar13 = 7" (identifier "iVar13") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar19 = pbVar9;" (assignment_expression "pbVar19 = pbVar9" (identifier "pbVar19") (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "pbVar21 = local_58;" (assignment_expression "pbVar21 = local_58" (identifier "pbVar21") (= "=") (identifier "local_58")) (; ";")) (do_statement "do {\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      } while (bVar24);" (do "do") (compound_statement "{\n        pbVar18 = pbVar19;\n        pbVar20 = pbVar21;\n        if (iVar13 == 0) break;\n        iVar13 = iVar13 + -1;\n        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;\n        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;\n        bVar23 = *pbVar19 < *pbVar21;\n        bVar24 = *pbVar19 == *pbVar21;\n        pbVar19 = pbVar18;\n        pbVar21 = pbVar20;\n      }" ({ "{") (expression_statement "pbVar18 = pbVar19;" (assignment_expression "pbVar18 = pbVar19" (identifier "pbVar18") (= "=") (identifier "pbVar19")) (; ";")) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" (identifier "pbVar20") (= "=") (identifier "pbVar21")) (; ";")) (if_statement "if (iVar13 == 0) break;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar13 = iVar13 + -1;" (assignment_expression "iVar13 = iVar13 + -1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + -1" (identifier "iVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar19 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar25 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar23 = *pbVar19 < *pbVar21;" (assignment_expression "bVar23 = *pbVar19 < *pbVar21" (identifier "bVar23") (= "=") (binary_expression "*pbVar19 < *pbVar21" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "bVar24 = *pbVar19 == *pbVar21;" (assignment_expression "bVar24 = *pbVar19 == *pbVar21" (identifier "bVar24") (= "=") (binary_expression "*pbVar19 == *pbVar21" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" (identifier "pbVar21") (= "=") (identifier "pbVar20")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "cVar3 = (!bVar23 && !bVar24) - bVar23;" (assignment_expression "cVar3 = (!bVar23 && !bVar24) - bVar23" (identifier "cVar3") (= "=") (binary_expression "(!bVar23 && !bVar24) - bVar23" (parenthesized_expression "(!bVar23 && !bVar24)" (( "(") (binary_expression "!bVar23 && !bVar24" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (- "-") (identifier "bVar23"))) (; ";")) (expression_statement "uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);" (assignment_expression "uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3)" (identifier "uVar7") (= "=") (call_expression "CONCAT31((int3)((uint)pFVar6 >> 8),cVar3)" (identifier "CONCAT31") (argument_list "((int3)((uint)pFVar6 >> 8),cVar3)" (( "(") (call_expression "(int3)((uint)pFVar6 >> 8)" (parenthesized_expression "(int3)" (( "(") (identifier "int3") () ")")) (argument_list "((uint)pFVar6 >> 8)" (( "(") (binary_expression "(uint)pFVar6 >> 8" (cast_expression "(uint)pFVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pFVar6")) (>> ">>") (number_literal "8")) () ")"))) (, ",") (identifier "cVar3") () ")")))) (; ";")) (if_statement "if (cVar3 != '\0') {\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar17 + -4) = uVar7;\n        *(undefined4 *)(puVar17 + -8) = uVar7;\n        *(char **)(puVar17 + -0xc) = local_64;\n        *(byte **)(puVar17 + -0x10) = pbVar9;\n        local_68 = pbVar9;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;\n        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n        pbVar9 = local_68;\n        if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -4) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = local_64;" (assignment_expression "*(char **)(puVar17 + -0xc) = local_64" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_64")) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "local_68 = pbVar9;" (assignment_expression "local_68 = pbVar9" (identifier "local_68") (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1737f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1737f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1737f")) (; ";")) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" (identifier "pbVar9") (= "=") (identifier "local_68")) (; ";")) (if_statement "if (iVar13 != 0) {\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(byte **)(puVar17 + -4) = pbVar20;\n          *(byte **)(puVar17 + -8) = pbVar20;\n          *(char **)(puVar17 + -0xc) = "-mips3";\n          *(byte **)(puVar17 + -0x10) = pbVar9;\n          *(undefined4 *)(puVar17 + -0x14) = 0x17398;\n          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n          pbVar9 = local_68;\n          if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "*(byte **)(puVar17 + -4) = pbVar20;" (assignment_expression "*(byte **)(puVar17 + -4) = pbVar20" (pointer_expression "*(byte **)(puVar17 + -4)" (* "*") (cast_expression "(byte **)(puVar17 + -4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "*(byte **)(puVar17 + -8) = pbVar20;" (assignment_expression "*(byte **)(puVar17 + -8) = pbVar20" (pointer_expression "*(byte **)(puVar17 + -8)" (* "*") (cast_expression "(byte **)(puVar17 + -8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips3";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips3"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""-mips3"" (" """) (string_content "-mips3") (" """))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17398;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17398" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17398")) (; ";")) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" (identifier "pbVar9") (= "=") (identifier "local_68")) (; ";")) (if_statement "if (iVar13 != 0) {\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(byte **)(puVar17 + -4) = pbVar18;\n            *(byte **)(puVar17 + -8) = pbVar18;\n            *(char **)(puVar17 + -0xc) = "-mips4";\n            *(byte **)(puVar17 + -0x10) = pbVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;\n            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n            pbVar9 = local_68;\n            if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "*(byte **)(puVar17 + -4) = pbVar18;" (assignment_expression "*(byte **)(puVar17 + -4) = pbVar18" (pointer_expression "*(byte **)(puVar17 + -4)" (* "*") (cast_expression "(byte **)(puVar17 + -4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "*(byte **)(puVar17 + -8) = pbVar18;" (assignment_expression "*(byte **)(puVar17 + -8) = pbVar18" (pointer_expression "*(byte **)(puVar17 + -8)" (* "*") (cast_expression "(byte **)(puVar17 + -8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips4";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips4"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""-mips4"" (" """) (string_content "-mips4") (" """))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x173b1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x173b1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x173b1")) (; ";")) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" (identifier "pbVar9") (= "=") (identifier "local_68")) (; ";")) (if_statement "if (iVar13 != 0) {\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar17 + -4) = extraout_ECX;\n              *(undefined4 *)(puVar17 + -8) = extraout_ECX;\n              *(char **)(puVar17 + -0xc) = "-mips5";\n              *(byte **)(puVar17 + -0x10) = pbVar9;\n              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;\n              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n              if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips5";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips5"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""-mips5"" (" """) (string_content "-mips5") (" """))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x173ce;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x173ce" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x173ce")) (; ";")) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar13 != 0) {\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar17 + -4) = extraout_EDX;\n                *(undefined4 *)(puVar17 + -8) = extraout_EDX;\n                pbVar9 = local_68;\n                *(char **)(puVar17 + -0xc) = "-mips32";\n                *(byte **)(puVar17 + -0x10) = pbVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;\n                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                pbVar9 = local_68;\n                if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -4) = extraout_EDX;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = extraout_EDX" (pointer_expression "*(undefined4 *)(puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "extraout_EDX")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = extraout_EDX;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = extraout_EDX" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "extraout_EDX")) (; ";")) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" (identifier "pbVar9") (= "=") (identifier "local_68")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips32";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips32"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""-mips32"" (" """) (string_content "-mips32") (" """))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x173eb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x173eb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x173eb")) (; ";")) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" (identifier "pbVar9") (= "=") (identifier "local_68")) (; ";")) (if_statement "if (iVar13 != 0) {\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *(int *)(puVar17 + -4) = iVar13;\n                  *(int *)(puVar17 + -8) = iVar13;\n                  *(char **)(puVar17 + -0xc) = "-mips32r2";\n                  *(byte **)(puVar17 + -0x10) = pbVar9;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;\n                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                  pbVar9 = local_68;\n                  if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }" ({ "{") (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" (* "*") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips32r2";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips32r2"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""-mips32r2"" (" """) (string_content "-mips32r2") (" """))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17408;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17408" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17408")) (; ";")) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" (identifier "pbVar9") (= "=") (identifier "local_68")) (; ";")) (if_statement "if (iVar13 != 0) {\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    *(int *)(puVar17 + -4) = iVar13;\n                    *(int *)(puVar17 + -8) = iVar13;\n                    *(char **)(puVar17 + -0xc) = "-mips32r6";\n                    *(byte **)(puVar17 + -0x10) = pbVar9;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;\n                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                    pbVar9 = local_68;\n                    if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }" ({ "{") (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" (* "*") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips32r6";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips32r6"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""-mips32r6"" (" """) (string_content "-mips32r6") (" """))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17425;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17425" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17425")) (; ";")) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" (identifier "pbVar9") (= "=") (identifier "local_68")) (; ";")) (if_statement "if (iVar13 != 0) {\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      *(int *)(puVar17 + -4) = iVar13;\n                      *(int *)(puVar17 + -8) = iVar13;\n                      *(char **)(puVar17 + -0xc) = "-mips64";\n                      *(byte **)(puVar17 + -0x10) = pbVar9;\n                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;\n                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                      pbVar9 = local_68;\n                      if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }\n                    }" ({ "{") (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" (* "*") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips64";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips64"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""-mips64"" (" """) (string_content "-mips64") (" """))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17442;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17442" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17442")) (; ";")) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" (identifier "pbVar9") (= "=") (identifier "local_68")) (; ";")) (if_statement "if (iVar13 != 0) {\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        *(int *)(puVar17 + -4) = iVar13;\n                        *(int *)(puVar17 + -8) = iVar13;\n                        *(char **)(puVar17 + -0xc) = "-mips64r2";\n                        *(byte **)(puVar17 + -0x10) = pbVar9;\n                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;\n                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                        pbVar9 = local_68;\n                        if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }\n                      }" ({ "{") (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" (* "*") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips64r2";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips64r2"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""-mips64r2"" (" """) (string_content "-mips64r2") (" """))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1745f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1745f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1745f")) (; ";")) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" (identifier "pbVar9") (= "=") (identifier "local_68")) (; ";")) (if_statement "if (iVar13 != 0) {\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                          *(int *)(puVar17 + -4) = iVar13;\n                          *(int *)(puVar17 + -8) = iVar13;\n                          *(char **)(puVar17 + -0xc) = "-mips64r6";\n                          *(byte **)(puVar17 + -0x10) = pbVar9;\n                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;\n                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                          pbVar9 = local_68;\n                          if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }\n                        }" ({ "{") (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" (* "*") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "-mips64r6";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-mips64r6"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""-mips64r6"" (" """) (string_content "-mips64r6") (" """))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1747c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1747c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1747c")) (; ";")) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "pbVar9 = local_68;" (assignment_expression "pbVar9 = local_68" (identifier "pbVar9") (= "=") (identifier "local_68")) (; ";")) (if_statement "if (iVar13 != 0) {\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                            *(int *)(puVar17 + -4) = iVar13;\n                            *(int *)(puVar17 + -8) = iVar13;\n                            *(char **)(puVar17 + -0xc) = "-m486";\n                            *(byte **)(puVar17 + -0x10) = pbVar9;\n                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;\n                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));\n                            if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }\n                          }" ({ "{") (expression_statement "*(int *)(puVar17 + -4) = iVar13;" (assignment_expression "*(int *)(puVar17 + -4) = iVar13" (pointer_expression "*(int *)(puVar17 + -4)" (* "*") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)(puVar17 + -8) = iVar13;" (assignment_expression "*(int *)(puVar17 + -8) = iVar13" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "-m486";" (assignment_expression "*(char **)(puVar17 + -0xc) = "-m486"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""-m486"" (" """) (string_content "-m486") (" """))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar9;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar9" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x17499;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x17499" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17499")) (; ";")) (expression_statement "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));" (assignment_expression "iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "iVar13") (= "=") (call_expression "strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar13 != 0) {\n                              local_54 = local_68 + 2;\n                            }" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                              local_54 = local_68 + 2;\n                            }" ({ "{") (expression_statement "local_54 = local_68 + 2;" (assignment_expression "local_54 = local_68 + 2" (identifier "local_54") (= "=") (binary_expression "local_68 + 2" (identifier "local_68") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (goto_statement "goto LAB_00017328;" (goto "goto") (statement_identifier "LAB_00017328") (; ";")) (} "}"))) (if_statement "if (DAT_001c4768 != 0) {\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }" (if "if") (parenthesized_expression "(DAT_001c4768 != 0)" (( "(") (binary_expression "DAT_001c4768 != 0" (identifier "DAT_001c4768") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(int **)(puVar16 + -4) = &DAT_001c4768;\n      *(undefined4 *)(puVar16 + -8) = 5;\n      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";\n      *(undefined4 *)(puVar16 + -0x10) = 0;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;\n      uVar7 = dcgettext();\n      *(undefined **)(puVar16 + -0xc) = puVar2;\n      *(undefined4 *)(puVar16 + -0x10) = uVar7;\n      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;\n      FUN_00034dc0();\n    }" ({ "{") (expression_statement "*(int **)(puVar16 + -4) = &DAT_001c4768;" (assignment_expression "*(int **)(puVar16 + -4) = &DAT_001c4768" (pointer_expression "*(int **)(puVar16 + -4)" (* "*") (cast_expression "(int **)(puVar16 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&DAT_001c4768" (& "&") (identifier "DAT_001c4768"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar16 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";" (assignment_expression "*(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n"" (pointer_expression "*(char **)(puVar16 + -0xc)" (* "*") (cast_expression "(char **)(puVar16 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%P: link errors found, deleting executable `%s\'\n"" (" """) (string_content "%P: link errors found, deleting executable `%s") (escape_sequence "\'") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b5c" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17b5c")) (; ";")) (expression_statement "uVar7 = dcgettext();" (assignment_expression "uVar7 = dcgettext()" (identifier "uVar7") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0xc) = puVar2;" (assignment_expression "*(undefined **)(puVar16 + -0xc) = puVar2" (pointer_expression "*(undefined **)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17b65;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17b65" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17b65")) (; ";")) (expression_statement "FUN_00034dc0();" (call_expression "FUN_00034dc0()" (identifier "FUN_00034dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar17 = puVar16 + -0x10;" (assignment_expression "puVar17 = puVar16 + -0x10" (identifier "puVar17") (= "=") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x17657;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x17657" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x17657")) (; ";")) (expression_statement "xexit();" (call_expression "xexit()" (identifier "xexit") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00017657:\n    local_54 = (byte *)0x80c15;" (statement_identifier "LAB_00017657") (: ":") (expression_statement "local_54 = (byte *)0x80c15;" (assignment_expression "local_54 = (byte *)0x80c15" (identifier "local_54") (= "=") (cast_expression "(byte *)0x80c15" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x80c15"))) (; ";"))) (} "}")) (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_12,char **argv)

{
  type_1 *puVar1;
  type_2 *var_17;
  type_3 *puVar3;
  type_4 *plVar4;
  char var_84;
  size_t var_22;
  char *var_29;
  type_5 *var_87;
  type_6 uVar9;
  type_7 *var_75;
  type_8 *pbVar11;
  char *pcVar12;
  size_t var_89;
  type_9 *piVar14;
  type_7 *var_66;
  long var_93;
  type_6 uVar17;
  int var_13;
  type_6 extraout_ECX;
  type_10 var_18;
  type_6 extraout_EDX;
  type_10 var_71;
  type_6 extraout_EDX_00;
  type_1 *var_34;
  type_1 *var_27;
  type_2 *pbVar23;
  type_2 *pbVar25;
  char **ppcVar27;
  bool var_16;
  bool bVar29;
  type_2 bVar30;
  int aiStack_b4 [13];
  type_1 auStack_70 [8];
  type_2 *var_100;
  char *local_64;
  char **local_60;
  long var_94;
  type_2 *local_58;
  type_2 *var_32;
  type_2 *local_50;
  type_4 *local_4c;
  type_9 *local_48;
  type_11 *local_44;
  char *var_97;
  type_8 *var_56;
  type_5 *var_33;
  type_5 *var_98;
  int local_24 [3];
  type_9 *piStack_18;
  type_2 *var_14;
  type_2 *var_15;
  
  bVar30 = 0;
  local_48 = (type_9 *)&var_12;
  piStack_18 = (type_9 *)&var_12;
  var_94 = var_1();
  var_97 = "";
  var_2(5,"");
  var_2(0,"");
  var_3();
  var_4();
  local_60 = &program_name;
  program_name = *argv;
  var_5();
  var_6(&var_12,&argv);
  var_7();
  var_8();
  default_bfd_assert_handler = (type_12)var_9();
  default_bfd_error_handler = (type_13)var_10();
  var_11(ld_cleanup);
  var_98 = (type_5 *)argv;
  var_33 = (type_5 *)var_12;
  var_16 = var_12 == 0;
  bVar29 = var_12 == 1;
  if (1 < var_12) {
    var_29 = "--sysroot=";
    var_18 = 1;
    do {
      var_13 = 10;
      var_17 = (type_2 *)argv[var_18];
      var_14 = var_17;
      var_15 = (type_2 *)var_29;
      do {
        if (var_13 == 0) break;
        var_13 = var_13 + -1;
        var_16 = *var_14 < *var_15;
        bVar29 = *var_14 == *var_15;
        var_14 = var_14 + (type_10)bVar30 * -2 + 1;
        var_15 = var_15 + (type_10)bVar30 * -2 + 1;
      } while (bVar29);
      var_56 = (type_8 *)var_29;
      if ((!var_16 && !bVar29) == var_16) {
        ld_sysroot = (char *)(var_17 + 10);
        if (var_17[10] == 0) goto LAB_00017033;
        goto LAB_000174e1;
      }
      var_18 = var_18 + 1;
      var_16 = (type_10)var_12 < var_18;
      bVar29 = var_12 == var_18;
    } while (!bVar29);
  }
  ld_sysroot = "/";
LAB_000174e1:
  var_20 = (char *)var_19();
LAB_00017033:
  var_29 = var_20;
  var_27 = auStack_70;
  if (var_20 == (char *)0x0) {
    ld_canon_sysroot_len = -1;
    var_22 = ld_canon_sysroot_len;
  }
  else {
    var_22 = var_21(var_20);
    if (var_22 != 0) {
      ld_canon_sysroot_len = var_22 - 1;
      if (var_29[ld_canon_sysroot_len] == '/') {
        var_29[ld_canon_sysroot_len] = '\0';
        var_22 = ld_canon_sysroot_len;
      }
    }
  }
  ld_canon_sysroot_len = var_22;
  var_13 = var_23();
  if (var_13 == 0) {
    var_29 = (char *)var_24();
    var_27 = &stack0xffffff80;
    var_25(var_29);
    var_26();
  }
  config.build_constructors = 1;
  config.rpath_separator = ':';
  config.split_by_reloc = 0xffffffff;
  config.split_by_file._0_4_ = 0xffffffff;
  config.split_by_file._4_4_ = 0xffffffff;
  config.make_executable = 1;
  config.magic_demand_paged = 1;
  config.text_read_only = 1;
  local_4c = &config;
  link_info.disable_target_specific_optimizations = -1;
  command_line.warn_mismatch = 1;
  command_line.warn_search_mismatch = 1;
  command_line.check_section_addresses = -1;
  local_44 = &command_line;
  *(char **)(var_27 + -0x10) = "COLLECT_NO_DEMANGLE";
  var_56 = &link_info;
  *(type_6 *)(var_27 + -0x14) = 0x17116;
  var_29 = var_28(*(char **)(var_27 + -0x10));
  link_info.relax_pass = 1;
  link_info.extern_protected_data = -1;
  demangling = (type_16)(var_29 == (char *)0x0);
  link_info._0_4_ = link_info._0_4_ | 0x4000400;
  link_info.callbacks = &link_callbacks;
  link_info.input_bfds_tail = &link_info.input_bfds;
  link_info.init_function = "_init";
  link_info.fini_function = "_fini";
  link_info.dynamic_undefined_weak = -1;
  var_98 = (type_5 *)var_30(var_98._2_2_,link_info._4_2_);
  link_info._4_2_ = link_info._4_2_ & 0xceb3 | 0x214c;
  link_info.pei386_auto_import = -1;
  link_info.spare_dynamic_tags = 5;
  link_info.path_separator = ':';
  *(char **)(var_27 + -0x10) = var_97;
  *(type_6 *)(var_27 + -0x14) = 0x17190;
  var_31(*(char **)(var_27 + -0x10));
  var_97 = (char *)local_48[1];
  var_33 = (type_5 *)*local_48;
  *(char **)(var_27 + -0x10) = "LDEMULATION";
  *(type_6 *)(var_27 + -0x14) = 0x171ac;
  var_32 = (type_2 *)var_28(*(char **)(var_27 + -0x10));
  if (var_32 == (type_2 *)0x0) goto LAB_00017657;
  do {
    var_16 = var_33 == (type_5 *)0x0;
    bVar29 = var_33 == (type_5 *)0x1;
    local_50 = &DAT_00080c85;
    local_58 = &DAT_00080ca6;
    local_64 = "-mips2";
    var_87 = (type_5 *)0x1;
    var_34 = var_27;
    if (1 < (int)var_33) goto LAB_00017334;
LAB_000171e4:
    *(type_2 **)(var_34 + -0x10) = var_32;
    *(type_6 *)(var_34 + -0x14) = 0x171ef;
    var_35(*(char **)(var_34 + -0x10));
    piVar14 = local_48;
    *(type_9 *)(var_34 + -0xc) = local_48[1];
    *(type_9 *)(var_34 + -0x10) = *piVar14;
    *(type_6 *)(var_34 + -0x14) = 0x171fe;
    default_target = var_36(*(int *)(var_34 + -0x10),*(char ***)(var_34 + -0xc));
    *(type_6 *)(var_34 + -0x14) = 0x1720b;
    var_37();
    *(type_6 *)(var_34 + -0x14) = 0x17210;
    var_38();
    *(type_6 *)(var_34 + -0x14) = 0x17215;
    var_39();
    lang_has_input_file = 0;
    ppcVar27 = *(char ***)(var_34 + -0xc);
    *(type_9 *)(var_34 + -0xc) = piVar14[1];
    *(type_9 *)(var_34 + -0x10) = *piVar14;
    var_33 = (type_5 *)&lang_has_input_file;
    *(type_6 *)(var_34 + -0x14) = 0x17230;
    var_40(*(type_10 *)(var_34 + -0x10),*(char ***)(var_34 + -0xc));
    if (local_4c->hash_table_size != 0) {
      *(type_14 *)(var_34 + -0x10) = local_4c->hash_table_size;
      *(type_6 *)(var_34 + -0x14) = 0x17940;
      var_41();
    }
    *(type_6 *)(var_34 + -4) = 0x17246;
    var_42();
    *(type_6 *)(var_34 + -4) = 0x1724b;
    var_43();
    if (var_44 == (type_7 *)0x0) {
      if (local_44->default_script != (char *)0x0) {
        *(char **)(var_34 + -0x10) = local_44->default_script;
        *(type_6 *)(var_34 + -0x14) = 0x1795f;
        var_45(*(char **)(var_34 + -0x10));
        piVar14 = &parser_input;
        parser_input = var_99;
        *(type_6 *)(var_34 + -0x14) = 0x17970;
        var_46();
        if (var_44 != (type_7 *)0x0) goto LAB_00017258;
      }
      piVar14 = &parser_input;
      *(int **)(var_34 + -0x10) = local_24;
      *(type_6 *)(var_34 + -0x14) = 0x1798c;
      var_87 = (type_5 *)var_47(*(int **)(var_34 + -0x10));
      if (local_24[0] == 0) {
        var_98 = var_87;
        *(type_5 **)(var_34 + -4) = var_87;
        *(type_6 *)(var_34 + -8) = 5;
        *(char **)(var_34 + -0xc) = "built in linker script";
        *(type_6 *)(var_34 + -0x10) = 0;
        *(type_6 *)(var_34 + -0x14) = 0x179b5;
        lex_string = (char *)var_87;
        uVar9 = var_24();
        var_87 = var_98;
        *(type_6 *)(var_34 + -8) = 1;
        *(type_6 *)(var_34 + -0xc) = uVar9;
        *(type_5 **)(var_34 + -0x10) = var_87;
        *(type_6 *)(var_34 + -0x14) = 0x179c4;
        var_48(*(char **)(var_34 + -0x10),*(char **)(var_34 + -0xc),*(type_10 *)(var_34 + -8))
        ;
      }
      else {
        *(type_5 **)(var_34 + -0x10) = var_87;
        *(type_6 *)(var_34 + -0x14) = 0x17b37;
        var_49(*(char **)(var_34 + -0x10));
      }
      ppcVar27 = &lex_string;
      parser_input = var_99;
      *(type_6 *)(var_34 + -4) = 0x179d2;
      var_46();
      lex_string = (char *)0x0;
      if (var_50 != 0) {
        if (var_44 != (type_7 *)0x0) goto LAB_00017845;
        var_29 = "using internal linker script:";
        *(type_9 **)(var_34 + -4) = &parser_input;
        *(type_6 *)(var_34 + -8) = 5;
        goto LAB_0001784e;
      }
    }
    else {
LAB_00017258:
      if (var_50 != 0) {
LAB_00017845:
        *(char ***)(var_34 + -4) = ppcVar27;
        var_29 = "using external linker script:";
        *(type_6 *)(var_34 + -8) = 5;
LAB_0001784e:
        *(char **)(var_34 + -0xc) = var_29;
        *(type_6 *)(var_34 + -0x10) = 0;
        *(type_6 *)(var_34 + -0x14) = 0x17856;
        uVar9 = var_24();
        *(type_6 *)(var_34 + -0x10) = uVar9;
        *(type_6 *)(var_34 + -0x14) = 0x1785e;
        var_51(*(char **)(var_34 + -0x10));
        var_98 = (type_5 *)0x8076c;
        *(char **)(var_34 + -0x10) = "\n==================================================\n";
        *(type_6 *)(var_34 + -0x14) = 0x17873;
        var_51(*(char **)(var_34 + -0x10));
        if (var_44 == (type_7 *)0x0) {
          *(int **)(var_34 + -0x10) = local_24;
          *(type_6 *)(var_34 + -0x14) = 0x17a32;
          var_29 = var_47(*(int **)(var_34 + -0x10));
          *(char **)(var_34 + -0x10) = var_29;
          *(type_6 *)(var_34 + -0x14) = 0x17a3a;
          var_51(*(char **)(var_34 + -0x10));
        }
        else {
          ppcVar27 = (char **)&DAT_0007ee86;
          *(type_6 *)(var_34 + -0x10) = 0x2001;
          *(type_6 *)(var_34 + -0x14) = 0x17896;
          piVar14 = (type_9 *)var_52();
          *(type_7 **)(var_34 + -0x10) = var_44;
          *(type_6 *)(var_34 + -0x14) = 0x178a4;
          var_53(*(type_7 **)(var_34 + -0x10));
          while( true ) {
            *(type_7 **)(var_34 + -4) = var_44;
            *(type_6 *)(var_34 + -8) = 0x2000;
            *(type_6 *)(var_34 + -0xc) = 1;
            *(type_9 **)(var_34 + -0x10) = piVar14;
            *(type_6 *)(var_34 + -0x14) = 0x178d4;
            var_22 = var_54(*(void **)(var_34 + -0x10),*(size_t *)(var_34 + -0xc),
                          *(size_t *)(var_34 + -8),*(type_7 **)(var_34 + -4));
            if (var_22 == 0) break;
            *(type_1 *)((int)piVar14 + var_22) = 0;
            *(type_9 **)(var_34 + -0xc) = piVar14;
            *(type_3 **)(var_34 + -0x10) = &DAT_0007ee86;
            *(type_6 *)(var_34 + -0x14) = 0x178be;
            var_51(*(char **)(var_34 + -0x10));
          }
          *(type_7 **)(var_34 + -0x10) = var_44;
          *(type_6 *)(var_34 + -0x14) = 0x178e9;
          var_53(*(type_7 **)(var_34 + -0x10));
          *(type_9 **)(var_34 + -0x10) = piVar14;
          *(type_6 *)(var_34 + -0x14) = 0x178f1;
          var_55(*(void **)(var_34 + -0x10));
        }
        *(type_5 **)(var_34 + -0x10) = var_98;
        *(type_6 *)(var_34 + -0x14) = 0x178ff;
        var_51(*(char **)(var_34 + -0x10));
      }
    }
    var_18 = 1;
    if (local_44->force_group_allocation == 0) {
      var_98 = (type_5 *)((type_10)var_98 & 0xffffff00);
      var_18 = (type_10)((type_1  [156])((type_1  [156])*var_56 & (type_1  [156])0x3) !=
                     (type_1  [156])0x2);
    }
    var_98 = (type_5 *)var_57(var_98._1_3_,var_56->field_0x1);
    var_56->field_0x1 = var_56->field_0x1 & 0xef | (type_2)(var_18 << 4);
    if (local_44->print_output_format != 0) {
      *(type_6 *)(var_34 + -4) = 0x17920;
      var_29 = var_58();
      *(type_6 *)(var_34 + -4) = extraout_EDX_00;
      *(type_6 *)(var_34 + -8) = extraout_EDX_00;
      *(char **)(var_34 + -0xc) = var_29;
      *(type_3 **)(var_34 + -0x10) = &DAT_000814fd;
      *(type_6 *)(var_34 + -0x14) = 0x1792f;
      var_51(*(char **)(var_34 + -0x10));
    }
    *(type_6 *)(var_34 + -4) = 0x172ad;
    var_59();
    if ((*local_48 == var_60) && (var_61 != 0)) goto LAB_000172f3;
    if ((var_56->field_0x7 & 0x20) != 0) {
      var_98 = (type_5 *)var_57(var_98._1_3_,*(type_2 *)var_56);
      if ((*(type_2 *)var_56 & 3) != 3) {
        *(char ***)(var_34 + -4) = ppcVar27;
        *(type_6 *)(var_34 + -8) = 5;
        *(char **)(var_34 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";
        *(type_6 *)(var_34 + -0x10) = 0;
        *(type_6 *)(var_34 + -0x14) = 0x17680;
        uVar9 = var_24();
        *(type_6 *)(var_34 + -0x10) = uVar9;
        *(type_6 *)(var_34 + -0x14) = 0x17688;
        var_25(*(char **)(var_34 + -0x10));
      }
    }
    var_87 = var_33;
    if (var_33->filename == (char *)0x0) {
      if (var_61 != 0 || local_44->print_output_format != 0) goto LAB_000172f3;
      *(type_9 **)(var_34 + -4) = piVar14;
      *(type_6 *)(var_34 + -8) = 5;
      *(char **)(var_34 + -0xc) = "%F%P: no input files\n";
      *(type_6 *)(var_34 + -0x10) = 0;
      *(type_6 *)(var_34 + -0x14) = 0x1751c;
      var_87 = (type_5 *)var_24();
      *(type_5 **)(var_34 + -0x10) = var_87;
      *(type_6 *)(var_34 + -0x14) = 0x17524;
      var_25(*(char **)(var_34 + -0x10));
    }
    if (var_62 != 0) {
      *(type_5 **)(var_34 + -4) = var_87;
      *(type_6 *)(var_34 + -8) = 5;
      *(char **)(var_34 + -0xc) = "%P: mode %s\n";
      *(type_6 *)(var_34 + -0x10) = 0;
      *(type_6 *)(var_34 + -0x14) = 0x176aa;
      uVar9 = var_24();
      *(type_2 **)(var_34 + -0xc) = var_32;
      *(type_6 *)(var_34 + -0x10) = uVar9;
      *(type_6 *)(var_34 + -0x14) = 0x176b5;
      var_51(*(char **)(var_34 + -0x10));
    }
    *(type_6 *)(var_34 + -4) = 0x1753b;
    var_63();
    plVar4 = local_4c;
    var_29 = local_4c->map_filename;
    if (var_29 != (char *)0x0) {
      *(type_4 **)(var_34 + -4) = local_4c;
      *(type_4 **)(var_34 + -8) = plVar4;
      *(type_3 **)(var_34 + -0xc) = &DAT_000700e6;
      *(char **)(var_34 + -0x10) = var_29;
      *(type_6 *)(var_34 + -0x14) = 0x17554;
      var_13 = var_64(*(char **)(var_34 + -0x10),*(char **)(var_34 + -0xc));
      if (var_13 == 0) {
        local_4c->map_file = *(type_7 **)PTR_stdout_001c1fdc;
      }
      else {
        *(int *)(var_34 + -4) = var_13;
        *(int *)(var_34 + -8) = var_13;
        *(char **)(var_34 + -0xc) = "w";
        *(char **)(var_34 + -0x10) = var_29;
        *(type_6 *)(var_34 + -0x14) = 0x17a5c;
        var_66 = var_65(*(char **)(var_34 + -0x10),*(char **)(var_34 + -0xc));
        local_4c->map_file = (type_7 *)var_66;
        if (var_66 == (type_7 *)0x0) {
          *(type_6 *)(var_34 + -0x10) = 1;
          *(type_6 *)(var_34 + -0x14) = 0x17a77;
          var_67();
          var_29 = local_4c->map_filename;
          *(type_6 *)(var_34 + -8) = 5;
          *(char **)(var_34 + -0xc) = "%F%P: cannot open map file %s: %E\n";
          *(type_6 *)(var_34 + -0x10) = 0;
          *(type_6 *)(var_34 + -0x14) = 0x17a90;
          uVar9 = var_24();
          *(char **)(var_34 + -0xc) = var_29;
          *(type_6 *)(var_34 + -0x10) = uVar9;
          *(type_6 *)(var_34 + -0x14) = 0x17a99;
          var_25(*(char **)(var_34 + -0x10));
        }
      }
    }
    *(type_6 *)(var_34 + -4) = 0x17572;
    var_68();
    var_98 = (type_5 *)var_57(var_98._1_3_,*(type_2 *)var_56);
    if ((*(type_2 *)var_56 & 3) == 2) {
      puVar1 = &var_56->output_bfd->field_0x28;
      *(type_10 *)puVar1 = *(type_10 *)puVar1 & 0xffffffbf;
    }
    else {
      puVar1 = &var_56->output_bfd->field_0x28;
      *(type_10 *)puVar1 = *(type_10 *)puVar1 | 0x40;
    }
    if ((var_56->compress_debug & var_69) != var_70) {
      var_98 = var_56->output_bfd;
      var_71 = (type_10)*(char **)&var_98->field_0x28 >> 5 & 0xfffff;
      var_18 = var_71 | 0x24000;
      if (var_56->compress_debug != var_72) {
        var_18 = var_71 | 0x4000;
      }
      *(char **)&var_98->field_0x28 =
           (char *)(var_18 << 5 | (type_10)*(char **)&var_98->field_0x28 & 0xfe00001f);
    }
    *(type_6 *)(var_34 + -4) = 0x175dd;
    var_73();
    plVar4 = local_4c;
    if (local_4c->map_file == (type_7 *)0x0) {
      if (local_44->cref != 0) {
LAB_00017a0f:
        var_75 = *(type_7 **)PTR_stdout_001c1fdc;
        goto LAB_00017603;
      }
    }
    else {
      *(type_6 *)(var_34 + -4) = 0x175ef;
      var_74();
      if (local_44->cref != 0) {
        var_75 = plVar4->map_file;
        if (var_75 == (type_7 *)0x0) goto LAB_00017a0f;
LAB_00017603:
        *(type_7 **)(var_34 + -0x10) = var_75;
        *(type_6 *)(var_34 + -0x14) = 0x1760c;
        var_76(*(type_7 **)(var_34 + -0x10));
      }
    }
    if (var_77 != (type_15 *)0x0) {
      *(type_6 *)(var_34 + -4) = 0x1761f;
      var_78();
    }
    if (local_44->print_memory_usage != 0) {
      *(type_6 *)(var_34 + -4) = 0x17a21;
      var_79();
    }
    *(type_6 *)(var_34 + -4) = 0x17631;
    var_80();
    *(type_6 *)(var_34 + -4) = 0x17636;
    var_81();
    var_29 = var_91;
    if (local_4c->make_executable != 0 || var_82 != 0) {
      *(type_5 **)(var_34 + -0x10) = var_56->output_bfd;
      *(type_6 *)(var_34 + -0x14) = 0x176cb;
      var_13 = var_83();
      if (var_13 == 0) {
        var_87 = var_56->output_bfd;
        *(type_8 **)(var_34 + -4) = var_56;
        *(type_6 *)(var_34 + -8) = 5;
        *(char **)(var_34 + -0xc) = "%F%P: %pB: final close failed: %E\n";
        *(type_6 *)(var_34 + -0x10) = 0;
        *(type_6 *)(var_34 + -0x14) = 0x17b1d;
        uVar9 = var_24();
        *(type_5 **)(var_34 + -0xc) = var_87;
        *(type_6 *)(var_34 + -0x10) = uVar9;
        *(type_6 *)(var_34 + -0x14) = 0x17b26;
        var_25(*(char **)(var_34 + -0x10));
      }
      if (((type_1  [156])((type_1  [156])*var_56 & (type_1  [156])0x3) !=
           (type_1  [156])0x2) && (local_44->force_exe_suffix != 0)) {
        var_18 = 0xffffffff;
        var_29 = var_91;
        do {
          if (var_18 == 0) break;
          var_18 = var_18 - 1;
          var_84 = *var_29;
          var_29 = var_29 + (type_10)bVar30 * -2 + 1;
        } while (var_84 != '\0');
        var_18 = ~var_18;
        if (var_18 - 1 < 4) {
LAB_00017745:
          *(type_6 *)(var_34 + -0x10) = 0x1000;
          *(type_6 *)(var_34 + -0x14) = 0x17755;
          uVar9 = var_52();
          *(type_10 *)(var_34 + -0x10) = var_18 + 4;
          *(type_6 *)(var_34 + -0x14) = 0x1775f;
          pbVar11 = (type_8 *)var_52();
          var_29 = var_91;
          var_56 = pbVar11;
          *(char **)(var_34 + -0xc) = var_91;
          *(type_8 **)(var_34 + -0x10) = pbVar11;
          *(type_6 *)(var_34 + -0x14) = 0x17771;
          pcVar12 = var_85(*(char **)(var_34 + -0x10),*(char **)(var_34 + -0xc));
          var_86(pcVar12,".exe",5);
          *(type_3 **)(var_34 + -0xc) = &DAT_0007dadc;
          *(char **)(var_34 + -0x10) = var_29;
          *(type_6 *)(var_34 + -0x14) = 0x1778a;
          var_87 = (type_5 *)var_65(*(char **)(var_34 + -0x10),*(char **)(var_34 + -0xc));
          var_98 = var_87;
          *(char **)(var_34 + -0xc) = "w";
          *(type_8 **)(var_34 + -0x10) = var_56;
          *(type_6 *)(var_34 + -0x14) = 0x177a0;
          var_33 = (type_5 *)var_65(*(char **)(var_34 + -0x10),*(char **)(var_34 + -0xc));
          if (var_87 == (type_5 *)0x0) {
            *(type_6 *)(var_34 + -4) = 0;
            *(type_6 *)(var_34 + -8) = 5;
            *(char **)(var_34 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";
            *(type_6 *)(var_34 + -0x10) = 0;
            var_97 = var_91;
            *(type_6 *)(var_34 + -0x14) = 0x17bef;
            uVar17 = var_24();
            *(char **)(var_34 + -0xc) = var_97;
            *(type_6 *)(var_34 + -0x10) = uVar17;
            *(type_6 *)(var_34 + -0x14) = 0x17bfb;
            var_25(*(char **)(var_34 + -0x10));
          }
          if (var_33 == (type_5 *)0x0) {
            *(type_5 **)(var_34 + -4) = var_87;
            *(type_6 *)(var_34 + -8) = 5;
            *(char **)(var_34 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";
            *(type_6 *)(var_34 + -0x10) = 0;
            *(type_6 *)(var_34 + -0x14) = 0x17bc2;
            uVar17 = var_24();
            *(type_8 **)(var_34 + -0xc) = var_56;
            *(type_6 *)(var_34 + -0x10) = uVar17;
            *(type_6 *)(var_34 + -0x14) = 0x17bcd;
            var_25(*(char **)(var_34 + -0x10));
          }
          var_97 = "%P: error writing file `%s\'\n";
          while( true ) {
            *(type_5 **)(var_34 + -4) = var_98;
            *(type_6 *)(var_34 + -8) = 0x1000;
            *(type_6 *)(var_34 + -0xc) = 1;
            *(type_6 *)(var_34 + -0x10) = uVar9;
            *(type_6 *)(var_34 + -0x14) = 0x177ea;
            var_22 = var_54(*(void **)(var_34 + -0x10),*(size_t *)(var_34 + -0xc),
                          *(size_t *)(var_34 + -8),*(type_7 **)(var_34 + -4));
            if ((int)var_22 < 1) break;
            *(type_5 **)(var_34 + -4) = var_33;
            *(size_t *)(var_34 + -8) = var_22;
            *(type_6 *)(var_34 + -0xc) = 1;
            *(type_6 *)(var_34 + -0x10) = uVar9;
            *(type_6 *)(var_34 + -0x14) = 0x177cf;
            var_89 = var_88(*(void **)(var_34 + -0x10),*(size_t *)(var_34 + -0xc),
                            *(size_t *)(var_34 + -8),*(type_7 **)(var_34 + -4));
            if (var_22 != var_89) {
              *(size_t *)(var_34 + -4) = var_89;
              *(type_6 *)(var_34 + -8) = 5;
              *(char **)(var_34 + -0xc) = var_97;
              *(type_6 *)(var_34 + -0x10) = 0;
              *(type_6 *)(var_34 + -0x14) = 0x17b7a;
              uVar17 = var_24();
              *(type_8 **)(var_34 + -0xc) = var_56;
              *(type_6 *)(var_34 + -0x10) = uVar17;
              *(type_6 *)(var_34 + -0x14) = 0x17b85;
              var_25(*(char **)(var_34 + -0x10));
            }
          }
          *(type_5 **)(var_34 + -0x10) = var_98;
          *(type_6 *)(var_34 + -0x14) = 0x177fe;
          var_90(*(type_7 **)(var_34 + -0x10));
          *(type_5 **)(var_34 + -0x10) = var_33;
          *(type_6 *)(var_34 + -0x14) = 0x17807;
          var_13 = var_90(*(type_7 **)(var_34 + -0x10));
          if (var_13 == -1) {
            *(type_6 *)(var_34 + -4) = 0;
            *(type_6 *)(var_34 + -8) = 5;
            *(char **)(var_34 + -0xc) = "%P: error closing file `%s\'\n";
            *(type_6 *)(var_34 + -0x10) = 0;
            *(type_6 *)(var_34 + -0x14) = 0x17b9e;
            uVar17 = var_24();
            *(type_8 **)(var_34 + -0xc) = var_56;
            *(type_6 *)(var_34 + -0x10) = uVar17;
            *(type_6 *)(var_34 + -0x14) = 0x17ba9;
            var_25(*(char **)(var_34 + -0x10));
          }
          *(type_8 **)(var_34 + -0x10) = var_56;
          *(type_6 *)(var_34 + -0x14) = 0x1781e;
          var_55(*(void **)(var_34 + -0x10));
          *(type_6 *)(var_34 + -0x10) = uVar9;
          *(type_6 *)(var_34 + -0x14) = 0x17826;
          var_55(*(void **)(var_34 + -0x10));
        }
        else {
          var_29 = var_91 + (var_18 - 5);
          *(type_6 *)(var_34 + -4) = 0;
          *(type_6 *)(var_34 + -8) = 0;
          *(type_3 **)(var_34 + -0xc) = &DAT_00080d7d;
          *(char **)(var_34 + -0x10) = var_29;
          *(type_6 *)(var_34 + -0x14) = 0x17720;
          var_13 = var_92(*(char **)(var_34 + -0x10),*(char **)(var_34 + -0xc));
          if (var_13 != 0) {
            *(int *)(var_34 + -4) = var_13;
            *(int *)(var_34 + -8) = var_13;
            *(type_3 **)(var_34 + -0xc) = &DAT_00080d82;
            *(char **)(var_34 + -0x10) = var_29;
            *(type_6 *)(var_34 + -0x14) = 0x1773a;
            var_13 = var_92(*(char **)(var_34 + -0x10),*(char **)(var_34 + -0xc));
            if (var_13 != 0) goto LAB_00017745;
          }
        }
      }
      if (local_4c->stats != 0) {
        *(type_6 *)(var_34 + -4) = 0x17aa6;
        var_93 = var_1();
        var_98 = (type_5 *)(var_93 - var_94);
        *(type_6 *)(var_34 + -0x10) = *(type_6 *)PTR_stdout_001c1fdc;
        *(type_6 *)(var_34 + -0x14) = 0x17ac1;
        var_95(*(type_7 **)(var_34 + -0x10));
        var_29 = *local_60;
        *(type_6 *)(var_34 + -8) = 5;
        *(char **)(var_34 + -0xc) = "%s: total time in link: %ld.%06ld\n";
        *(type_6 *)(var_34 + -0x10) = 0;
        *(type_6 *)(var_34 + -0x14) = 0x17ad9;
        uVar9 = var_24();
        puVar3 = PTR_stderr_001c1fa8;
        var_13 = (int)var_98 / 1000000;
        *(int *)(var_34 + -0x10) = (int)var_98 % 1000000;
        *(int *)(var_34 + -0x14) = var_13;
        *(char **)(var_34 + -0x18) = var_29;
        *(type_6 *)(var_34 + -0x1c) = uVar9;
        *(type_6 *)(var_34 + -0x20) = *(type_6 *)PTR_stderr_001c1fa8;
        *(type_6 *)(var_34 + -0x24) = 0x17af4;
        var_96(*(type_7 **)(var_34 + -0x20),*(char **)(var_34 + -0x1c));
        *(type_6 *)(var_34 + -0x10) = *(type_6 *)puVar3;
        *(type_6 *)(var_34 + -0x14) = 0x17afe;
        var_95(*(type_7 **)(var_34 + -0x10));
      }
      var_91 = (char *)0x0;
LAB_000172f3:
      var_27 = var_34 + -0x10;
      *(type_6 *)(var_34 + -0x10) = 0;
      *(type_6 *)(var_34 + -0x14) = 0x172fd;
      var_87 = (type_5 *)var_26();
      do {
        if ((int)var_87 < (int)((int)&var_33[-1].build_id + 3)) {
          var_98 = (type_5 *)((int)&var_87->filename + var_60);
          var_32 = *(type_2 **)(var_97 + (int)var_87 * 4 + 4);
        }
        else {
          *(type_5 **)(var_27 + -4) = var_87;
          *(type_6 *)(var_27 + -8) = 5;
          *(char **)(var_27 + -0xc) = "%F%P: missing argument to -m\n";
          *(type_6 *)(var_27 + -0x10) = 0;
          *(type_6 *)(var_27 + -0x14) = 0x174c3;
          uVar9 = var_24();
          *(type_6 *)(var_27 + -0x10) = uVar9;
          *(type_6 *)(var_27 + -0x14) = 0x174cb;
          var_25(*(char **)(var_27 + -0x10));
        }
LAB_00017328:
        do {
          var_16 = var_33 < var_98;
          bVar29 = var_33 == var_98;
          var_87 = var_98;
          var_34 = var_27;
          if ((int)var_33 <= (int)var_98) goto LAB_000171e4;
LAB_00017334:
          var_17 = *(type_2 **)(var_97 + (int)var_87 * 4);
          var_13 = 2;
          var_14 = var_17;
          var_15 = local_50;
          do {
            if (var_13 == 0) break;
            var_13 = var_13 + -1;
            var_16 = *var_14 < *var_15;
            bVar29 = *var_14 == *var_15;
            var_14 = var_14 + (type_10)bVar30 * -2 + 1;
            var_15 = var_15 + (type_10)bVar30 * -2 + 1;
          } while (bVar29);
          var_98 = (type_5 *)((int)&var_87->filename + var_99);
        } while ((!var_16 && !bVar29) != var_16);
        var_16 = false;
        bVar29 = var_17[2] == 0;
      } while (bVar29);
      var_13 = 7;
      var_14 = var_17;
      var_15 = local_58;
      do {
        pbVar23 = var_14;
        pbVar25 = var_15;
        if (var_13 == 0) break;
        var_13 = var_13 + -1;
        pbVar25 = var_15 + (type_10)bVar30 * -2 + 1;
        pbVar23 = var_14 + (type_10)bVar30 * -2 + 1;
        var_16 = *var_14 < *var_15;
        bVar29 = *var_14 == *var_15;
        var_14 = pbVar23;
        var_15 = pbVar25;
      } while (bVar29);
      var_84 = (!var_16 && !bVar29) - var_16;
      uVar9 = var_57((int3)((type_10)var_87 >> 8),var_84);
      if (var_84 != '\0') {
        *(type_6 *)(var_27 + -4) = uVar9;
        *(type_6 *)(var_27 + -8) = uVar9;
        *(char **)(var_27 + -0xc) = local_64;
        *(type_2 **)(var_27 + -0x10) = var_17;
        var_100 = var_17;
        *(type_6 *)(var_27 + -0x14) = 0x1737f;
        var_13 = var_64(*(char **)(var_27 + -0x10),*(char **)(var_27 + -0xc));
        var_17 = var_100;
        if (var_13 != 0) {
          *(type_2 **)(var_27 + -4) = pbVar25;
          *(type_2 **)(var_27 + -8) = pbVar25;
          *(char **)(var_27 + -0xc) = "-mips3";
          *(type_2 **)(var_27 + -0x10) = var_17;
          *(type_6 *)(var_27 + -0x14) = 0x17398;
          var_13 = var_64(*(char **)(var_27 + -0x10),*(char **)(var_27 + -0xc));
          var_17 = var_100;
          if (var_13 != 0) {
            *(type_2 **)(var_27 + -4) = pbVar23;
            *(type_2 **)(var_27 + -8) = pbVar23;
            *(char **)(var_27 + -0xc) = "-mips4";
            *(type_2 **)(var_27 + -0x10) = var_17;
            *(type_6 *)(var_27 + -0x14) = 0x173b1;
            var_13 = var_64(*(char **)(var_27 + -0x10),*(char **)(var_27 + -0xc));
            var_17 = var_100;
            if (var_13 != 0) {
              *(type_6 *)(var_27 + -4) = extraout_ECX;
              *(type_6 *)(var_27 + -8) = extraout_ECX;
              *(char **)(var_27 + -0xc) = "-mips5";
              *(type_2 **)(var_27 + -0x10) = var_17;
              *(type_6 *)(var_27 + -0x14) = 0x173ce;
              var_13 = var_64(*(char **)(var_27 + -0x10),*(char **)(var_27 + -0xc));
              if (var_13 != 0) {
                *(type_6 *)(var_27 + -4) = extraout_EDX;
                *(type_6 *)(var_27 + -8) = extraout_EDX;
                var_17 = var_100;
                *(char **)(var_27 + -0xc) = "-mips32";
                *(type_2 **)(var_27 + -0x10) = var_17;
                *(type_6 *)(var_27 + -0x14) = 0x173eb;
                var_13 = var_64(*(char **)(var_27 + -0x10),*(char **)(var_27 + -0xc));
                var_17 = var_100;
                if (var_13 != 0) {
                  *(int *)(var_27 + -4) = var_13;
                  *(int *)(var_27 + -8) = var_13;
                  *(char **)(var_27 + -0xc) = "-mips32r2";
                  *(type_2 **)(var_27 + -0x10) = var_17;
                  *(type_6 *)(var_27 + -0x14) = 0x17408;
                  var_13 = var_64(*(char **)(var_27 + -0x10),*(char **)(var_27 + -0xc));
                  var_17 = var_100;
                  if (var_13 != 0) {
                    *(int *)(var_27 + -4) = var_13;
                    *(int *)(var_27 + -8) = var_13;
                    *(char **)(var_27 + -0xc) = "-mips32r6";
                    *(type_2 **)(var_27 + -0x10) = var_17;
                    *(type_6 *)(var_27 + -0x14) = 0x17425;
                    var_13 = var_64(*(char **)(var_27 + -0x10),*(char **)(var_27 + -0xc));
                    var_17 = var_100;
                    if (var_13 != 0) {
                      *(int *)(var_27 + -4) = var_13;
                      *(int *)(var_27 + -8) = var_13;
                      *(char **)(var_27 + -0xc) = "-mips64";
                      *(type_2 **)(var_27 + -0x10) = var_17;
                      *(type_6 *)(var_27 + -0x14) = 0x17442;
                      var_13 = var_64(*(char **)(var_27 + -0x10),*(char **)(var_27 + -0xc));
                      var_17 = var_100;
                      if (var_13 != 0) {
                        *(int *)(var_27 + -4) = var_13;
                        *(int *)(var_27 + -8) = var_13;
                        *(char **)(var_27 + -0xc) = "-mips64r2";
                        *(type_2 **)(var_27 + -0x10) = var_17;
                        *(type_6 *)(var_27 + -0x14) = 0x1745f;
                        var_13 = var_64(*(char **)(var_27 + -0x10),*(char **)(var_27 + -0xc));
                        var_17 = var_100;
                        if (var_13 != 0) {
                          *(int *)(var_27 + -4) = var_13;
                          *(int *)(var_27 + -8) = var_13;
                          *(char **)(var_27 + -0xc) = "-mips64r6";
                          *(type_2 **)(var_27 + -0x10) = var_17;
                          *(type_6 *)(var_27 + -0x14) = 0x1747c;
                          var_13 = var_64(*(char **)(var_27 + -0x10),*(char **)(var_27 + -0xc));
                          var_17 = var_100;
                          if (var_13 != 0) {
                            *(int *)(var_27 + -4) = var_13;
                            *(int *)(var_27 + -8) = var_13;
                            *(char **)(var_27 + -0xc) = "-m486";
                            *(type_2 **)(var_27 + -0x10) = var_17;
                            *(type_6 *)(var_27 + -0x14) = 0x17499;
                            var_13 = var_64(*(char **)(var_27 + -0x10),*(char **)(var_27 + -0xc));
                            if (var_13 != 0) {
                              var_32 = var_100 + 2;
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      goto LAB_00017328;
    }
    if (var_62 != 0) {
      *(type_16 **)(var_34 + -4) = &var_62;
      *(type_6 *)(var_34 + -8) = 5;
      *(char **)(var_34 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";
      *(type_6 *)(var_34 + -0x10) = 0;
      *(type_6 *)(var_34 + -0x14) = 0x17b5c;
      uVar9 = var_24();
      *(char **)(var_34 + -0xc) = var_29;
      *(type_6 *)(var_34 + -0x10) = uVar9;
      *(type_6 *)(var_34 + -0x14) = 0x17b65;
      var_25(*(char **)(var_34 + -0x10));
    }
    var_27 = var_34 + -0x10;
    *(type_6 *)(var_34 + -0x10) = 1;
    *(type_6 *)(var_34 + -0x14) = 0x17657;
    var_26();
LAB_00017657:
    var_32 = (type_2 *)0x80c15;
  } while( true );
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) 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: (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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) 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: (identifier)) (declaration type: (primitive_type) 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: (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: (identifier)) (declaration type: (primitive_type) 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: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (primitive_type) 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: (primitive_type) 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: (array_declarator declarator: (identifier) size: (number_literal))) (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: (identifier))) (expression_statement (assignment_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: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal))) (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 (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: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (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: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (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)) value: (subscript_expression argument: (identifier) index: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) condition: (parenthesized_expression (unary_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_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)))))) (labeled_statement label: (statement_identifier) (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 (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))) consequence: (compound_statement (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 (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) 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: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) 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: (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: (number_literal))) (expression_statement (assignment_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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (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)) value: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) 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 (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (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: (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (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 (call_expression function: (identifier) arguments: (argument_list))) (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: (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)) 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: (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: (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: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (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: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (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))))) (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: (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 (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (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))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_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 (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: (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (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 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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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: (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 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)))) 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: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_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 (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: (number_literal)))) (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) 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 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))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_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: (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: (identifier) 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))) (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)) 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))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (escape_sequence) (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))) (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 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: (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)))) 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))))) (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: (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: (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)) 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)))))))) (while_statement condition: (parenthesized_expression (true)) body: (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)) 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: (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))))) (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: (number_literal))) consequence: (break_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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) 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))) 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))))) (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)) 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)))))))) (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: (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))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (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: (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)))))) (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 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))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) 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)) value: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) 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: (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) (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 (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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) consequence: (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)) 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) (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 (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 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) (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 (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))) 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: (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))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (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 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)) 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 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) 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)))) (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)) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (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))) (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: (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) (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 (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: (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: (number_literal))) (expression_statement (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: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) 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)) 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)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) 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: (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)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (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))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_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 (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (goto_statement label: (statement_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)) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (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)) 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 (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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 (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: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (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: (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))))))) (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)))) (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: (cast_expression type: (type_descriptor type: (type_identifier) 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 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) (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 (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: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (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)) 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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (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 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 (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (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 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (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 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 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 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: (type_identifier) 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: (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) (escape_sequence) (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 (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: (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 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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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 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) (escape_sequence) (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 (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))) 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: (string_literal (string_content) (escape_sequence) (escape_sequence)))) (while_statement condition: (parenthesized_expression (true)) body: (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: (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)) 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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (break_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: (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: (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: (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: (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: (identifier))) 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)) 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: (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))) 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: (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: (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 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: (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: (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 (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) (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 (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))) 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: (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)))))))) (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))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (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 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 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: (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: (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 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 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: (goto_statement label: (statement_identifier)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (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: (parenthesized_expression (binary_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: (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)) 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)))))))) (expression_statement (assignment_expression left: (identifier) 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: (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 (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (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)) 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)) 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))))) (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: (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)) 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)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)) 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_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)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal)))))) (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: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) 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 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) (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 (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)))))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) 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: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (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: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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)))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) 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: (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 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: (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: (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 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 (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))) 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)))) (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 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 (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))) 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)))) (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 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 (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: (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 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 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: (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: (identifier) 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)))) (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 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 (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)))) (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 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 (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)))) (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 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 (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)))) (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 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 (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)))) (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 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 (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)))) (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 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 (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)))) (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 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: (binary_expression left: (identifier) right: (number_literal)))))))))))))))))))))))))))) (goto_statement label: (statement_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: (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: (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) (escape_sequence) (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 (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))) 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)))) (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) condition: (parenthesized_expression (true))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void MASKED(uint param_1,undefined4 *param_2)

{
  uint *puVar1;
  undefined *puVar2;
  char cVar3;
  size_t sVar4;
  char *pcVar5;
  FILE *pFVar6;
  undefined4 uVar7;
  int iVar8;
  byte *pbVar9;
  size_t sVar10;
  int *piVar11;
  undefined4 uVar12;
  int iVar13;
  undefined4 extraout_ECX;
  uint uVar14;
  undefined4 extraout_EDX;
  uint uVar15;
  undefined1 *puVar16;
  undefined1 *puVar17;
  byte *pbVar18;
  byte *pbVar20;
  undefined4 *puVar22;
  bool bVar23;
  bool bVar24;
  byte bVar25;
  undefined8 uVar26;
  int aiStack_b4 [13];
  undefined1 auStack_70 [8];
  byte *local_68;
  char *local_64;
  undefined4 *local_60;
  int local_5c;
  byte *local_58;
  byte *local_54;
  byte *local_50;
  undefined4 *local_4c;
  int *local_48;
  undefined4 *local_44;
  char *local_40;
  byte *local_3c;
  FILE *local_38;
  FILE *local_34;
  int local_24 [3];
  int *piStack_18;
  byte *pbVar19;
  byte *pbVar21;
  
  bVar25 = 0;
  local_48 = (int *)&param_1;
  piStack_18 = local_48;
  local_5c = FUN_0006f170();
  local_40 = "";
  setlocale(5,"");
  setlocale(0,"");
  bindtextdomain();
  textdomain();
  local_60 = &DAT_001c4758;
  DAT_001c4758 = *param_2;
  xmalloc_set_program_name();
  FUN_0006ed20();
  bfd_init();
  bfd_set_error_program_name();
  DAT_001c39ec = bfd_set_assert_handler();
  DAT_001c39e8 = bfd_set_error_handler();
  FUN_0006f200();
  local_34 = (FILE *)param_2;
  local_38 = (FILE *)param_1;
  bVar23 = param_1 == 0;
  bVar24 = param_1 == 1;
  if (1 < (int)param_1) {
    local_3c = (byte *)0x80c34;
    uVar14 = 1;
    do {
      iVar13 = 10;
      pbVar9 = (byte *)param_2[uVar14];
      pbVar19 = pbVar9;
      pbVar21 = local_3c;
      do {
        if (iVar13 == 0) break;
        iVar13 = iVar13 + -1;
        bVar23 = *pbVar19 < *pbVar21;
        bVar24 = *pbVar19 == *pbVar21;
        pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
        pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
      } while (bVar24);
      if ((!bVar23 && !bVar24) == bVar23) {
        DAT_001c467c = pbVar9 + 10;
        if (pbVar9[10] == 0) goto LAB_00017033;
        goto LAB_000174e1;
      }
      uVar14 = uVar14 + 1;
      bVar23 = param_1 < uVar14;
      bVar24 = param_1 == uVar14;
    } while (!bVar24);
  }
  DAT_001c467c = (byte *)0x7ef86;
LAB_000174e1:
  DAT_001c4764 = (char *)lrealpath();
LAB_00017033:
  pcVar5 = DAT_001c4764;
  puVar17 = auStack_70;
  if (DAT_001c4764 == (char *)0x0) {
    DAT_001c45c8 = 0xffffffff;
    sVar4 = DAT_001c45c8;
  }
  else {
    sVar4 = strlen(DAT_001c4764);
    if (sVar4 != 0) {
      DAT_001c45c8 = sVar4 - 1;
      if (pcVar5[DAT_001c45c8] == '/') {
        pcVar5[DAT_001c45c8] = '\0';
        sVar4 = DAT_001c45c8;
      }
    }
  }
  DAT_001c45c8 = sVar4;
  iVar13 = bfd_set_default_target();
  if (iVar13 == 0) {
    dcgettext();
    puVar17 = &stack0xffffff80;
    FUN_00034dc0();
    xexit();
  }
  DAT_001c46ec = 1;
  DAT_001c4728 = 0x3a;
  DAT_001c4734 = 0xffffffff;
  DAT_001c4738 = 0xffffffff;
  DAT_001c473c = 0xffffffff;
  DAT_001c46e4 = 1;
  DAT_001c46e0 = 1;
  DAT_001c4710 = 1;
  local_4c = &DAT_001c46e0;
  DAT_001c45f8 = 0xffffffff;
  DAT_001c4690 = 1;
  DAT_001c4694 = 1;
  DAT_001c4698 = 0xff;
  local_44 = &DAT_001c4680;
  *(char **)(puVar17 + -0x10) = "COLLECT_NO_DEMANGLE";
  local_3c = &DAT_001c45e0;
  *(undefined4 *)(puVar17 + -0x14) = 0x17116;
  pcVar5 = getenv(*(char **)(puVar17 + -0x10));
  DAT_001c4638 = 1;
  DAT_001c4640 = 0xffffffff;
  DAT_001c45c4 = (uint)(pcVar5 == (char *)0x0);
  _DAT_001c45e0 = _DAT_001c45e0 | 0x4000400;
  DAT_001c45fc = &PTR_FUN_001c23e0;
  DAT_001c4620 = &DAT_001c461c;
  DAT_001c4630 = "_init";
  DAT_001c4634 = "_fini";
  DAT_001c4644 = 0xffffffff;
  local_34 = (FILE *)CONCAT22(local_34._2_2_,_DAT_001c45e4);
  _DAT_001c45e4 = _DAT_001c45e4 & 0xceb3 | 0x214c;
  DAT_001c4648 = 0xffffffff;
  DAT_001c4650 = 5;
  DAT_001c45ea = 0x3a;
  *(char **)(puVar17 + -0x10) = local_40;
  *(undefined4 *)(puVar17 + -0x14) = 0x17190;
  FUN_00035d00();
  local_40 = (char *)local_48[1];
  local_38 = (FILE *)*local_48;
  *(char **)(puVar17 + -0x10) = "LDEMULATION";
  *(undefined4 *)(puVar17 + -0x14) = 0x171ac;
  local_54 = (byte *)getenv(*(char **)(puVar17 + -0x10));
  if (local_54 == (byte *)0x0) goto LAB_00017657;
  do {
    bVar23 = local_38 == (FILE *)0x0;
    bVar24 = local_38 == (FILE *)0x1;
    local_50 = &DAT_00080c85;
    local_58 = &DAT_00080ca6;
    local_64 = "-mips2";
    pFVar6 = (FILE *)0x1;
    puVar16 = puVar17;
    if (1 < (int)local_38) goto LAB_00017334;
LAB_000171e4:
    *(byte **)(puVar16 + -0x10) = local_54;
    *(undefined4 *)(puVar16 + -0x14) = 0x171ef;
    FUN_00033bc0();
    piVar11 = local_48;
    *(int *)(puVar16 + -0xc) = local_48[1];
    *(int *)(puVar16 + -0x10) = *piVar11;
    *(undefined4 *)(puVar16 + -0x14) = 0x171fe;
    DAT_001c4754 = FUN_000338a0();
    *(undefined4 *)(puVar16 + -0x14) = 0x1720b;
    FUN_000258a0();
    *(undefined4 *)(puVar16 + -0x14) = 0x17210;
    FUN_000334e0();
    *(undefined4 *)(puVar16 + -0x14) = 0x17215;
    FUN_000335f0();
    DAT_001c3850 = 0;
    puVar22 = *(undefined4 **)(puVar16 + -0xc);
    *(int *)(puVar16 + -0xc) = piVar11[1];
    *(int *)(puVar16 + -0x10) = *piVar11;
    local_38 = (FILE *)&DAT_001c3850;
    *(undefined4 *)(puVar16 + -0x14) = 0x17230;
    FUN_0001d500();
    if (local_4c[0x18] != 0) {
      *(undefined4 *)(puVar16 + -0x10) = local_4c[0x18];
      *(undefined4 *)(puVar16 + -0x14) = 0x17940;
      bfd_hash_set_default_size();
    }
    *(undefined4 *)(puVar16 + -4) = 0x17246;
    FUN_00038400();
    *(undefined4 *)(puVar16 + -4) = 0x1724b;
    FUN_000336d0();
    if (DAT_001c39d8 == 0) {
      if (local_44[0x16] != 0) {
        *(undefined4 *)(puVar16 + -0x10) = local_44[0x16];
        *(undefined4 *)(puVar16 + -0x14) = 0x1795f;
        FUN_00035ce0();
        piVar11 = &DAT_001c4568;
        DAT_001c4568 = 1;
        *(undefined4 *)(puVar16 + -0x14) = 0x17970;
        FUN_00017f60();
        if (DAT_001c39d8 != 0) goto LAB_00017258;
      }
      piVar11 = &DAT_001c4568;
      *(int **)(puVar16 + -0x10) = local_24;
      *(undefined4 *)(puVar16 + -0x14) = 0x1798c;
      pFVar6 = (FILE *)FUN_00033730();
      if (local_24[0] == 0) {
        local_34 = pFVar6;
        *(FILE **)(puVar16 + -4) = pFVar6;
        *(undefined4 *)(puVar16 + -8) = 5;
        *(char **)(puVar16 + -0xc) = "built in linker script";
        *(undefined4 *)(puVar16 + -0x10) = 0;
        *(undefined4 *)(puVar16 + -0x14) = 0x179b5;
        DAT_001c36a0 = pFVar6;
        uVar7 = dcgettext();
        pFVar6 = local_34;
        *(undefined4 *)(puVar16 + -8) = 1;
        *(undefined4 *)(puVar16 + -0xc) = uVar7;
        *(FILE **)(puVar16 + -0x10) = pFVar6;
        *(undefined4 *)(puVar16 + -0x14) = 0x179c4;
        FUN_0001d090();
      }
      else {
        *(FILE **)(puVar16 + -0x10) = pFVar6;
        *(undefined4 *)(puVar16 + -0x14) = 0x17b37;
        FUN_00035cf0();
      }
      puVar22 = &DAT_001c36a0;
      DAT_001c4568 = 1;
      *(undefined4 *)(puVar16 + -4) = 0x179d2;
      FUN_00017f60();
      DAT_001c36a0 = (FILE *)0x0;
      if (DAT_001c475c != 0) {
        if (DAT_001c39d8 != 0) goto LAB_00017845;
        pcVar5 = "using internal linker script:";
        *(undefined4 **)(puVar16 + -4) = &DAT_001c4568;
        *(undefined4 *)(puVar16 + -8) = 5;
        goto LAB_0001784e;
      }
    }
    else {
LAB_00017258:
      if (DAT_001c475c != 0) {
LAB_00017845:
        *(undefined4 **)(puVar16 + -4) = puVar22;
        pcVar5 = "using external linker script:";
        *(undefined4 *)(puVar16 + -8) = 5;
LAB_0001784e:
        *(char **)(puVar16 + -0xc) = pcVar5;
        *(undefined4 *)(puVar16 + -0x10) = 0;
        *(undefined4 *)(puVar16 + -0x14) = 0x17856;
        uVar7 = dcgettext();
        *(undefined4 *)(puVar16 + -0x10) = uVar7;
        *(undefined4 *)(puVar16 + -0x14) = 0x1785e;
        FUN_00034d90();
        local_34 = (FILE *)0x8076c;
        *(char **)(puVar16 + -0x10) = "\n==================================================\n";
        *(undefined4 *)(puVar16 + -0x14) = 0x17873;
        FUN_00034d90();
        if (DAT_001c39d8 == 0) {
          *(int **)(puVar16 + -0x10) = local_24;
          *(undefined4 *)(puVar16 + -0x14) = 0x17a32;
          uVar7 = FUN_00033730();
          *(undefined4 *)(puVar16 + -0x10) = uVar7;
          *(undefined4 *)(puVar16 + -0x14) = 0x17a3a;
          FUN_00034d90();
        }
        else {
          puVar22 = (undefined4 *)&DAT_0007ee86;
          *(undefined4 *)(puVar16 + -0x10) = 0x2001;
          *(undefined4 *)(puVar16 + -0x14) = 0x17896;
          piVar11 = (int *)xmalloc();
          *(int *)(puVar16 + -0x10) = DAT_001c39d8;
          *(undefined4 *)(puVar16 + -0x14) = 0x178a4;
          rewind(*(FILE **)(puVar16 + -0x10));
          while( true ) {
            *(int *)(puVar16 + -4) = DAT_001c39d8;
            *(undefined4 *)(puVar16 + -8) = 0x2000;
            *(undefined4 *)(puVar16 + -0xc) = 1;
            *(int **)(puVar16 + -0x10) = piVar11;
            *(undefined4 *)(puVar16 + -0x14) = 0x178d4;
            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),
                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));
            if (sVar4 == 0) break;
            *(undefined1 *)((int)piVar11 + sVar4) = 0;
            *(int **)(puVar16 + -0xc) = piVar11;
            *(undefined **)(puVar16 + -0x10) = &DAT_0007ee86;
            *(undefined4 *)(puVar16 + -0x14) = 0x178be;
            FUN_00034d90();
          }
          *(int *)(puVar16 + -0x10) = DAT_001c39d8;
          *(undefined4 *)(puVar16 + -0x14) = 0x178e9;
          rewind(*(FILE **)(puVar16 + -0x10));
          *(int **)(puVar16 + -0x10) = piVar11;
          *(undefined4 *)(puVar16 + -0x14) = 0x178f1;
          free(*(void **)(puVar16 + -0x10));
        }
        *(FILE **)(puVar16 + -0x10) = local_34;
        *(undefined4 *)(puVar16 + -0x14) = 0x178ff;
        FUN_00034d90();
      }
    }
    uVar14 = 1;
    if (local_44[0xb] == 0) {
      local_34 = (FILE *)((uint)local_34 & 0xffffff00);
      uVar14 = (uint)((*local_3c & 3) != 2);
    }
    local_34 = (FILE *)CONCAT31(local_34._1_3_,local_3c[1]);
    local_3c[1] = local_3c[1] & 0xef | (byte)(uVar14 << 4);
    if (local_44[9] != 0) {
      *(undefined4 *)(puVar16 + -4) = 0x17920;
      uVar26 = FUN_00026cc0();
      *(int *)(puVar16 + -4) = (int)((ulonglong)uVar26 >> 0x20);
      *(undefined8 *)(puVar16 + -0xc) = uVar26;
      *(undefined **)(puVar16 + -0x10) = &DAT_000814fd;
      *(undefined4 *)(puVar16 + -0x14) = 0x1792f;
      FUN_00034d90();
    }
    *(undefined4 *)(puVar16 + -4) = 0x172ad;
    FUN_000289a0();
    if ((*local_48 == 2) && (DAT_001c45c0 != 0)) goto LAB_000172f3;
    if ((local_3c[7] & 0x20) != 0) {
      local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);
      if ((*local_3c & 3) != 3) {
        *(undefined4 **)(puVar16 + -4) = puVar22;
        *(undefined4 *)(puVar16 + -8) = 5;
        *(char **)(puVar16 + -0xc) = "%F%P: --no-define-common may not be used without -shared\n";
        *(undefined4 *)(puVar16 + -0x10) = 0;
        *(undefined4 *)(puVar16 + -0x14) = 0x17680;
        uVar7 = dcgettext();
        *(undefined4 *)(puVar16 + -0x10) = uVar7;
        *(undefined4 *)(puVar16 + -0x14) = 0x17688;
        FUN_00034dc0();
      }
    }
    pFVar6 = local_38;
    if (local_38->_flags == 0) {
      if (DAT_001c45c0 != 0 || local_44[9] != 0) goto LAB_000172f3;
      *(int **)(puVar16 + -4) = piVar11;
      *(undefined4 *)(puVar16 + -8) = 5;
      *(char **)(puVar16 + -0xc) = "%F%P: no input files\n";
      *(undefined4 *)(puVar16 + -0x10) = 0;
      *(undefined4 *)(puVar16 + -0x14) = 0x1751c;
      uVar7 = dcgettext();
      *(undefined4 *)(puVar16 + -0x10) = uVar7;
      *(undefined4 *)(puVar16 + -0x14) = 0x17524;
      pFVar6 = (FILE *)FUN_00034dc0();
    }
    if (DAT_001c4768 != 0) {
      *(FILE **)(puVar16 + -4) = pFVar6;
      *(undefined4 *)(puVar16 + -8) = 5;
      *(char **)(puVar16 + -0xc) = "%P: mode %s\n";
      *(undefined4 *)(puVar16 + -0x10) = 0;
      *(undefined4 *)(puVar16 + -0x14) = 0x176aa;
      uVar7 = dcgettext();
      *(byte **)(puVar16 + -0xc) = local_54;
      *(undefined4 *)(puVar16 + -0x10) = uVar7;
      *(undefined4 *)(puVar16 + -0x14) = 0x176b5;
      FUN_00034d90();
    }
    *(undefined4 *)(puVar16 + -4) = 0x1753b;
    FUN_000335d0();
    puVar22 = local_4c;
    iVar13 = local_4c[0x13];
    if (iVar13 != 0) {
      *(undefined4 **)(puVar16 + -4) = local_4c;
      *(undefined4 **)(puVar16 + -8) = puVar22;
      *(undefined **)(puVar16 + -0xc) = &DAT_000700e6;
      *(int *)(puVar16 + -0x10) = iVar13;
      *(undefined4 *)(puVar16 + -0x14) = 0x17554;
      iVar8 = strcmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
      if (iVar8 == 0) {
        local_4c[0x14] = *(undefined4 *)PTR_stdout_001c1fdc;
      }
      else {
        *(int *)(puVar16 + -4) = iVar8;
        *(int *)(puVar16 + -8) = iVar8;
        *(char **)(puVar16 + -0xc) = "w";
        *(int *)(puVar16 + -0x10) = iVar13;
        *(undefined4 *)(puVar16 + -0x14) = 0x17a5c;
        pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
        local_4c[0x14] = pFVar6;
        if (pFVar6 == (FILE *)0x0) {
          *(undefined4 *)(puVar16 + -0x10) = 1;
          *(undefined4 *)(puVar16 + -0x14) = 0x17a77;
          bfd_set_error();
          uVar7 = local_4c[0x13];
          *(undefined4 *)(puVar16 + -8) = 5;
          *(char **)(puVar16 + -0xc) = "%F%P: cannot open map file %s: %E\n";
          *(undefined4 *)(puVar16 + -0x10) = 0;
          *(undefined4 *)(puVar16 + -0x14) = 0x17a90;
          uVar12 = dcgettext();
          *(undefined4 *)(puVar16 + -0xc) = uVar7;
          *(undefined4 *)(puVar16 + -0x10) = uVar12;
          *(undefined4 *)(puVar16 + -0x14) = 0x17a99;
          FUN_00034dc0();
        }
      }
    }
    *(undefined4 *)(puVar16 + -4) = 0x17572;
    FUN_0002aa30();
    local_34 = (FILE *)CONCAT31(local_34._1_3_,*local_3c);
    if ((*local_3c & 3) == 2) {
      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);
      *puVar1 = *puVar1 & 0xffffffbf;
    }
    else {
      puVar1 = (uint *)(*(int *)(local_3c + 0x34) + 0x28);
      *puVar1 = *puVar1 | 0x40;
    }
    if ((*(uint *)(local_3c + 0xc) & 1) != 0) {
      local_34 = *(FILE **)(local_3c + 0x34);
      uVar15 = (uint)local_34->_IO_backup_base >> 5 & 0xfffff;
      uVar14 = uVar15 | 0x24000;
      if (*(uint *)(local_3c + 0xc) != 5) {
        uVar14 = uVar15 | 0x4000;
      }
      local_34->_IO_backup_base =
           (char *)(uVar14 << 5 | (uint)local_34->_IO_backup_base & 0xfe00001f);
    }
    *(undefined4 *)(puVar16 + -4) = 0x175dd;
    FUN_00030220();
    puVar22 = local_4c;
    if (local_4c[0x14] == 0) {
      if (local_44[3] != 0) {
LAB_00017a0f:
        iVar13 = *(int *)PTR_stdout_001c1fdc;
        goto LAB_00017603;
      }
    }
    else {
      *(undefined4 *)(puVar16 + -4) = 0x175ef;
      FUN_00026210();
      if (local_44[3] != 0) {
        iVar13 = puVar22[0x14];
        if (iVar13 == 0) goto LAB_00017a0f;
LAB_00017603:
        *(int *)(puVar16 + -0x10) = iVar13;
        *(undefined4 *)(puVar16 + -0x14) = 0x1760c;
        FUN_00036a30();
      }
    }
    if (DAT_001c4574 != 0) {
      *(undefined4 *)(puVar16 + -4) = 0x1761f;
      FUN_00036e50();
    }
    if (local_44[10] != 0) {
      *(undefined4 *)(puVar16 + -4) = 0x17a21;
      FUN_0002d150();
    }
    *(undefined4 *)(puVar16 + -4) = 0x17631;
    FUN_00033570();
    *(undefined4 *)(puVar16 + -4) = 0x17636;
    FUN_00024010();
    puVar2 = PTR_s_a_out_001c241c;
    if (local_4c[1] != 0 || DAT_001c39d0 != 0) {
      *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(local_3c + 0x34);
      *(undefined4 *)(puVar16 + -0x14) = 0x176cb;
      iVar13 = bfd_close();
      if (iVar13 == 0) {
        uVar7 = *(undefined4 *)(local_3c + 0x34);
        *(byte **)(puVar16 + -4) = local_3c;
        *(undefined4 *)(puVar16 + -8) = 5;
        *(char **)(puVar16 + -0xc) = "%F%P: %pB: final close failed: %E\n";
        *(undefined4 *)(puVar16 + -0x10) = 0;
        *(undefined4 *)(puVar16 + -0x14) = 0x17b1d;
        uVar12 = dcgettext();
        *(undefined4 *)(puVar16 + -0xc) = uVar7;
        *(undefined4 *)(puVar16 + -0x10) = uVar12;
        *(undefined4 *)(puVar16 + -0x14) = 0x17b26;
        FUN_00034dc0();
      }
      if (((*local_3c & 3) != 2) && (local_44[2] != 0)) {
        uVar14 = 0xffffffff;
        pcVar5 = PTR_s_a_out_001c241c;
        do {
          if (uVar14 == 0) break;
          uVar14 = uVar14 - 1;
          cVar3 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar25 * -2 + 1;
        } while (cVar3 != '\0');
        uVar14 = ~uVar14;
        if (uVar14 - 1 < 4) {
LAB_00017745:
          *(undefined4 *)(puVar16 + -0x10) = 0x1000;
          *(undefined4 *)(puVar16 + -0x14) = 0x17755;
          uVar7 = xmalloc();
          *(uint *)(puVar16 + -0x10) = uVar14 + 4;
          *(undefined4 *)(puVar16 + -0x14) = 0x1775f;
          pbVar9 = (byte *)xmalloc();
          puVar2 = PTR_s_a_out_001c241c;
          local_3c = pbVar9;
          *(undefined **)(puVar16 + -0xc) = PTR_s_a_out_001c241c;
          *(byte **)(puVar16 + -0x10) = pbVar9;
          *(undefined4 *)(puVar16 + -0x14) = 0x17771;
          pcVar5 = stpcpy(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
          builtin_strncpy(pcVar5,".exe",5);
          *(undefined **)(puVar16 + -0xc) = &DAT_0007dadc;
          *(undefined **)(puVar16 + -0x10) = puVar2;
          *(undefined4 *)(puVar16 + -0x14) = 0x1778a;
          pFVar6 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
          local_34 = pFVar6;
          *(char **)(puVar16 + -0xc) = "w";
          *(byte **)(puVar16 + -0x10) = local_3c;
          *(undefined4 *)(puVar16 + -0x14) = 0x177a0;
          local_38 = fopen64(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
          if (pFVar6 == (FILE *)0x0) {
            *(undefined4 *)(puVar16 + -4) = 0;
            *(undefined4 *)(puVar16 + -8) = 5;
            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for source of copy `%s\'\n";
            *(undefined4 *)(puVar16 + -0x10) = 0;
            local_40 = PTR_s_a_out_001c241c;
            *(undefined4 *)(puVar16 + -0x14) = 0x17bef;
            uVar12 = dcgettext();
            *(char **)(puVar16 + -0xc) = local_40;
            *(undefined4 *)(puVar16 + -0x10) = uVar12;
            *(undefined4 *)(puVar16 + -0x14) = 0x17bfb;
            FUN_00034dc0();
          }
          if (local_38 == (FILE *)0x0) {
            *(FILE **)(puVar16 + -4) = pFVar6;
            *(undefined4 *)(puVar16 + -8) = 5;
            *(char **)(puVar16 + -0xc) = "%F%P: unable to open for destination of copy `%s\'\n";
            *(undefined4 *)(puVar16 + -0x10) = 0;
            *(undefined4 *)(puVar16 + -0x14) = 0x17bc2;
            uVar12 = dcgettext();
            *(byte **)(puVar16 + -0xc) = local_3c;
            *(undefined4 *)(puVar16 + -0x10) = uVar12;
            *(undefined4 *)(puVar16 + -0x14) = 0x17bcd;
            FUN_00034dc0();
          }
          local_40 = "%P: error writing file `%s\'\n";
          while( true ) {
            *(FILE **)(puVar16 + -4) = local_34;
            *(undefined4 *)(puVar16 + -8) = 0x1000;
            *(undefined4 *)(puVar16 + -0xc) = 1;
            *(undefined4 *)(puVar16 + -0x10) = uVar7;
            *(undefined4 *)(puVar16 + -0x14) = 0x177ea;
            sVar4 = fread(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),
                          *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));
            if ((int)sVar4 < 1) break;
            *(FILE **)(puVar16 + -4) = local_38;
            *(size_t *)(puVar16 + -8) = sVar4;
            *(undefined4 *)(puVar16 + -0xc) = 1;
            *(undefined4 *)(puVar16 + -0x10) = uVar7;
            *(undefined4 *)(puVar16 + -0x14) = 0x177cf;
            sVar10 = fwrite(*(void **)(puVar16 + -0x10),*(size_t *)(puVar16 + -0xc),
                            *(size_t *)(puVar16 + -8),*(FILE **)(puVar16 + -4));
            if (sVar4 != sVar10) {
              *(size_t *)(puVar16 + -4) = sVar10;
              *(undefined4 *)(puVar16 + -8) = 5;
              *(char **)(puVar16 + -0xc) = local_40;
              *(undefined4 *)(puVar16 + -0x10) = 0;
              *(undefined4 *)(puVar16 + -0x14) = 0x17b7a;
              uVar12 = dcgettext();
              *(byte **)(puVar16 + -0xc) = local_3c;
              *(undefined4 *)(puVar16 + -0x10) = uVar12;
              *(undefined4 *)(puVar16 + -0x14) = 0x17b85;
              FUN_00034dc0();
            }
          }
          *(FILE **)(puVar16 + -0x10) = local_34;
          *(undefined4 *)(puVar16 + -0x14) = 0x177fe;
          fclose(*(FILE **)(puVar16 + -0x10));
          *(FILE **)(puVar16 + -0x10) = local_38;
          *(undefined4 *)(puVar16 + -0x14) = 0x17807;
          iVar13 = fclose(*(FILE **)(puVar16 + -0x10));
          if (iVar13 == -1) {
            *(undefined4 *)(puVar16 + -4) = 0;
            *(undefined4 *)(puVar16 + -8) = 5;
            *(char **)(puVar16 + -0xc) = "%P: error closing file `%s\'\n";
            *(undefined4 *)(puVar16 + -0x10) = 0;
            *(undefined4 *)(puVar16 + -0x14) = 0x17b9e;
            uVar12 = dcgettext();
            *(byte **)(puVar16 + -0xc) = local_3c;
            *(undefined4 *)(puVar16 + -0x10) = uVar12;
            *(undefined4 *)(puVar16 + -0x14) = 0x17ba9;
            FUN_00034dc0();
          }
          *(byte **)(puVar16 + -0x10) = local_3c;
          *(undefined4 *)(puVar16 + -0x14) = 0x1781e;
          free(*(void **)(puVar16 + -0x10));
          *(undefined4 *)(puVar16 + -0x10) = uVar7;
          *(undefined4 *)(puVar16 + -0x14) = 0x17826;
          free(*(void **)(puVar16 + -0x10));
        }
        else {
          puVar2 = PTR_s_a_out_001c241c + (uVar14 - 5);
          *(undefined4 *)(puVar16 + -4) = 0;
          *(undefined4 *)(puVar16 + -8) = 0;
          *(undefined **)(puVar16 + -0xc) = &DAT_00080d7d;
          *(undefined **)(puVar16 + -0x10) = puVar2;
          *(undefined4 *)(puVar16 + -0x14) = 0x17720;
          iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
          if (iVar13 != 0) {
            *(int *)(puVar16 + -4) = iVar13;
            *(int *)(puVar16 + -8) = iVar13;
            *(undefined **)(puVar16 + -0xc) = &DAT_00080d82;
            *(undefined **)(puVar16 + -0x10) = puVar2;
            *(undefined4 *)(puVar16 + -0x14) = 0x1773a;
            iVar13 = strcasecmp(*(char **)(puVar16 + -0x10),*(char **)(puVar16 + -0xc));
            if (iVar13 != 0) goto LAB_00017745;
          }
        }
      }
      if (local_4c[0xd] != 0) {
        *(undefined4 *)(puVar16 + -4) = 0x17aa6;
        iVar13 = FUN_0006f170();
        local_34 = (FILE *)(iVar13 - local_5c);
        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)PTR_stdout_001c1fdc;
        *(undefined4 *)(puVar16 + -0x14) = 0x17ac1;
        fflush(*(FILE **)(puVar16 + -0x10));
        uVar7 = *local_60;
        *(undefined4 *)(puVar16 + -8) = 5;
        *(char **)(puVar16 + -0xc) = "%s: total time in link: %ld.%06ld\n";
        *(undefined4 *)(puVar16 + -0x10) = 0;
        *(undefined4 *)(puVar16 + -0x14) = 0x17ad9;
        uVar12 = dcgettext();
        puVar2 = PTR_stderr_001c1fa8;
        iVar13 = (int)local_34 / 1000000;
        *(int *)(puVar16 + -0x10) = (int)local_34 % 1000000;
        *(int *)(puVar16 + -0x14) = iVar13;
        *(undefined4 *)(puVar16 + -0x18) = uVar7;
        *(undefined4 *)(puVar16 + -0x1c) = uVar12;
        *(undefined4 *)(puVar16 + -0x20) = *(undefined4 *)PTR_stderr_001c1fa8;
        *(undefined4 *)(puVar16 + -0x24) = 0x17af4;
        fprintf(*(FILE **)(puVar16 + -0x20),*(char **)(puVar16 + -0x1c));
        *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)puVar2;
        *(undefined4 *)(puVar16 + -0x14) = 0x17afe;
        fflush(*(FILE **)(puVar16 + -0x10));
      }
      PTR_s_a_out_001c241c = (undefined *)0x0;
LAB_000172f3:
      puVar17 = puVar16 + -0x10;
      *(undefined4 *)(puVar16 + -0x10) = 0;
      *(undefined4 *)(puVar16 + -0x14) = 0x172fd;
      pFVar6 = (FILE *)xexit();
      do {
        if ((int)pFVar6 < (int)(local_38[-1]._unused2 + 0x27)) {
          local_34 = (FILE *)((int)&pFVar6->_flags + 2);
          local_54 = *(byte **)(local_40 + (int)pFVar6 * 4 + 4);
        }
        else {
          *(FILE **)(puVar17 + -4) = pFVar6;
          *(undefined4 *)(puVar17 + -8) = 5;
          *(char **)(puVar17 + -0xc) = "%F%P: missing argument to -m\n";
          *(undefined4 *)(puVar17 + -0x10) = 0;
          *(undefined4 *)(puVar17 + -0x14) = 0x174c3;
          uVar7 = dcgettext();
          *(undefined4 *)(puVar17 + -0x10) = uVar7;
          *(undefined4 *)(puVar17 + -0x14) = 0x174cb;
          FUN_00034dc0();
        }
LAB_00017328:
        do {
          bVar23 = local_38 < local_34;
          bVar24 = local_38 == local_34;
          pFVar6 = local_34;
          puVar16 = puVar17;
          if ((int)local_38 <= (int)local_34) goto LAB_000171e4;
LAB_00017334:
          pbVar9 = *(byte **)(local_40 + (int)pFVar6 * 4);
          iVar13 = 2;
          pbVar19 = pbVar9;
          pbVar21 = local_50;
          do {
            if (iVar13 == 0) break;
            iVar13 = iVar13 + -1;
            bVar23 = *pbVar19 < *pbVar21;
            bVar24 = *pbVar19 == *pbVar21;
            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
            pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
          } while (bVar24);
          local_34 = (FILE *)((int)&pFVar6->_flags + 1);
        } while ((!bVar23 && !bVar24) != bVar23);
        bVar23 = false;
        bVar24 = pbVar9[2] == 0;
      } while (bVar24);
      iVar13 = 7;
      pbVar19 = pbVar9;
      pbVar21 = local_58;
      do {
        pbVar18 = pbVar19;
        pbVar20 = pbVar21;
        if (iVar13 == 0) break;
        iVar13 = iVar13 + -1;
        pbVar20 = pbVar21 + (uint)bVar25 * -2 + 1;
        pbVar18 = pbVar19 + (uint)bVar25 * -2 + 1;
        bVar23 = *pbVar19 < *pbVar21;
        bVar24 = *pbVar19 == *pbVar21;
        pbVar19 = pbVar18;
        pbVar21 = pbVar20;
      } while (bVar24);
      cVar3 = (!bVar23 && !bVar24) - bVar23;
      uVar7 = CONCAT31((int3)((uint)pFVar6 >> 8),cVar3);
      if (cVar3 != '\0') {
        *(undefined4 *)(puVar17 + -4) = uVar7;
        *(undefined4 *)(puVar17 + -8) = uVar7;
        *(char **)(puVar17 + -0xc) = local_64;
        *(byte **)(puVar17 + -0x10) = pbVar9;
        local_68 = pbVar9;
        *(undefined4 *)(puVar17 + -0x14) = 0x1737f;
        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
        pbVar9 = local_68;
        if (iVar13 != 0) {
          *(byte **)(puVar17 + -4) = pbVar20;
          *(byte **)(puVar17 + -8) = pbVar20;
          *(char **)(puVar17 + -0xc) = "-mips3";
          *(byte **)(puVar17 + -0x10) = pbVar9;
          *(undefined4 *)(puVar17 + -0x14) = 0x17398;
          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
          pbVar9 = local_68;
          if (iVar13 != 0) {
            *(byte **)(puVar17 + -4) = pbVar18;
            *(byte **)(puVar17 + -8) = pbVar18;
            *(char **)(puVar17 + -0xc) = "-mips4";
            *(byte **)(puVar17 + -0x10) = pbVar9;
            *(undefined4 *)(puVar17 + -0x14) = 0x173b1;
            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
            pbVar9 = local_68;
            if (iVar13 != 0) {
              *(undefined4 *)(puVar17 + -4) = extraout_ECX;
              *(undefined4 *)(puVar17 + -8) = extraout_ECX;
              *(char **)(puVar17 + -0xc) = "-mips5";
              *(byte **)(puVar17 + -0x10) = pbVar9;
              *(undefined4 *)(puVar17 + -0x14) = 0x173ce;
              iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
              if (iVar13 != 0) {
                *(undefined4 *)(puVar17 + -4) = extraout_EDX;
                *(undefined4 *)(puVar17 + -8) = extraout_EDX;
                pbVar9 = local_68;
                *(char **)(puVar17 + -0xc) = "-mips32";
                *(byte **)(puVar17 + -0x10) = pbVar9;
                *(undefined4 *)(puVar17 + -0x14) = 0x173eb;
                iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                pbVar9 = local_68;
                if (iVar13 != 0) {
                  *(int *)(puVar17 + -4) = iVar13;
                  *(int *)(puVar17 + -8) = iVar13;
                  *(char **)(puVar17 + -0xc) = "-mips32r2";
                  *(byte **)(puVar17 + -0x10) = pbVar9;
                  *(undefined4 *)(puVar17 + -0x14) = 0x17408;
                  iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                  pbVar9 = local_68;
                  if (iVar13 != 0) {
                    *(int *)(puVar17 + -4) = iVar13;
                    *(int *)(puVar17 + -8) = iVar13;
                    *(char **)(puVar17 + -0xc) = "-mips32r6";
                    *(byte **)(puVar17 + -0x10) = pbVar9;
                    *(undefined4 *)(puVar17 + -0x14) = 0x17425;
                    iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                    pbVar9 = local_68;
                    if (iVar13 != 0) {
                      *(int *)(puVar17 + -4) = iVar13;
                      *(int *)(puVar17 + -8) = iVar13;
                      *(char **)(puVar17 + -0xc) = "-mips64";
                      *(byte **)(puVar17 + -0x10) = pbVar9;
                      *(undefined4 *)(puVar17 + -0x14) = 0x17442;
                      iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                      pbVar9 = local_68;
                      if (iVar13 != 0) {
                        *(int *)(puVar17 + -4) = iVar13;
                        *(int *)(puVar17 + -8) = iVar13;
                        *(char **)(puVar17 + -0xc) = "-mips64r2";
                        *(byte **)(puVar17 + -0x10) = pbVar9;
                        *(undefined4 *)(puVar17 + -0x14) = 0x1745f;
                        iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                        pbVar9 = local_68;
                        if (iVar13 != 0) {
                          *(int *)(puVar17 + -4) = iVar13;
                          *(int *)(puVar17 + -8) = iVar13;
                          *(char **)(puVar17 + -0xc) = "-mips64r6";
                          *(byte **)(puVar17 + -0x10) = pbVar9;
                          *(undefined4 *)(puVar17 + -0x14) = 0x1747c;
                          iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                          pbVar9 = local_68;
                          if (iVar13 != 0) {
                            *(int *)(puVar17 + -4) = iVar13;
                            *(int *)(puVar17 + -8) = iVar13;
                            *(char **)(puVar17 + -0xc) = "-m486";
                            *(byte **)(puVar17 + -0x10) = pbVar9;
                            *(undefined4 *)(puVar17 + -0x14) = 0x17499;
                            iVar13 = strcmp(*(char **)(puVar17 + -0x10),*(char **)(puVar17 + -0xc));
                            if (iVar13 != 0) {
                              local_54 = local_68 + 2;
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      goto LAB_00017328;
    }
    if (DAT_001c4768 != 0) {
      *(int **)(puVar16 + -4) = &DAT_001c4768;
      *(undefined4 *)(puVar16 + -8) = 5;
      *(char **)(puVar16 + -0xc) = "%P: link errors found, deleting executable `%s\'\n";
      *(undefined4 *)(puVar16 + -0x10) = 0;
      *(undefined4 *)(puVar16 + -0x14) = 0x17b5c;
      uVar7 = dcgettext();
      *(undefined **)(puVar16 + -0xc) = puVar2;
      *(undefined4 *)(puVar16 + -0x10) = uVar7;
      *(undefined4 *)(puVar16 + -0x14) = 0x17b65;
      FUN_00034dc0();
    }
    puVar17 = puVar16 + -0x10;
    *(undefined4 *)(puVar16 + -0x10) = 1;
    *(undefined4 *)(puVar16 + -0x14) = 0x17657;
    xexit();
LAB_00017657:
    local_54 = (byte *)0x80c15;
  } while( true );
}

