
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void gld_i386pep_after_open(void)

{
  anon_union_4_2_31908b46_for_link *paVar1;
  pe_tdata *ppVar2;
  elf_obj_tdata *peVar3;
  bfd_symbol **ppbVar4;
  undefined4 *puVar5;
  uint uVar6;
  bfd_link_hash_entry *pbVar7;
  undefined4 uVar8;
  byte bVar9;
  bfd_link_hash_entry *pbVar10;
  byte bVar11;
  bfd_boolean bVar12;
  asection *paVar13;
  bfd *pbVar14;
  undefined4 *__ptr;
  undefined4 *puVar15;
  size_t sVar16;
  char *pcVar17;
  char *pcVar18;
  bfd_section *pbVar19;
  char *fmt;
  int iVar20;
  int iVar21;
  wildcard_list *pwVar22;
  lang_statement_union *plVar23;
  internal_extra_pe_aouthdr *piVar24;
  undefined4 *puVar25;
  byte *pbVar26;
  uint *puVar27;
  uint uVar28;
  lang_statement_union *plVar29;
  byte *pbVar30;
  bool bVar31;
  bool bVar32;
  bool bVar33;
  bool bVar34;
  byte bVar35;
  lang_statement_union *local_50;
  lang_statement_union *local_40;
  bfd_section *local_38;
  int found_debug;
  undefined4 uStack_14;
  
  bVar35 = 0;
  uStack_14 = 0x535a9;
  after_open_default();
  is_underscoring();
  if (pep_dll_extra_pe_debug == 0) {
LAB_000535da:
    pbVar14 = link_info.input_bfds;
    if (emit_build_id != (char *)0x0) {
      for (; pbVar14 != (bfd *)0x0; pbVar14 = (pbVar14->link).next) {
        if (pbVar14->xvec->flavour == bfd_target_coff_flavour) {
          bVar12 = validate_build_id_style(emit_build_id);
          if (bVar12 == 0) {
            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            paVar13 = (asection *)
                      bfd_make_section_anyway_with_flags
                                (pbVar14,".buildid",
                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */
                                );
            pbVar14 = link_info.output_bfd;
            if (paVar13 != (asection *)0x0) {
              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;
              (ppVar2->build_id).after_write_object_contents = write_build_id;
              pcVar18 = emit_build_id;
              iVar20 = (ppVar2->coff).pe;
              (ppVar2->build_id).sec = paVar13;
              (ppVar2->build_id).style = pcVar18;
              *(undefined4 *)&paVar13->size = 0x35;
              *(undefined4 *)((int)&paVar13->size + 4) = 0;
              goto joined_r0x00053689;
            }
            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";
          }
          pcVar18 = (char *)dcgettext(0,pcVar18,5);
          einfo(pcVar18);
          break;
        }
      }
LAB_000539a9:
      free(emit_build_id);
      emit_build_id = (char *)0x0;
    }
  }
  else {
    printf("%s()\n","gld_i386pep_after_open");
    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;
        pbVar7 = (pbVar7->u).undef.next) {
      printf("-%s\n",(pbVar7->root).string);
    }
    bfd_hash_traverse(link_info.hash,pr_sym,0);
    pbVar14 = link_info.input_bfds;
    if (link_info.input_bfds != (bfd *)0x0) {
      do {
        printf("*%s\n",pbVar14->filename);
        paVar1 = &pbVar14->link;
        pbVar14 = paVar1->next;
      } while (paVar1->next != (bfd *)0x0);
      goto LAB_000535da;
    }
    if (emit_build_id != (char *)0x0) goto LAB_000539a9;
  }
  pbVar14 = link_info.output_bfd;
  if (((link_info.output_bfd)->tdata).coff_obj_data != (coff_tdata *)0x0) {
    iVar20 = (((link_info.output_bfd)->tdata).coff_obj_data)->pe;
joined_r0x00053689:
    if (iVar20 != 0) goto LAB_00053690;
  }
  pcVar18 = (char *)dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"
                              ,5);
  einfo(pcVar18,pbVar14);
LAB_00053690:
  pbVar14 = link_info.output_bfd;
  peVar3 = ((link_info.output_bfd)->tdata).elf_obj_data;
  piVar24 = &pep;
  puVar27 = &(peVar3->symtab_hdr).sh_link;
  for (iVar20 = 0x52; uVar8 = (undefined4)init[1].value, iVar20 != 0; iVar20 = iVar20 + -1) {
    *puVar27 = *(uint *)piVar24;
    piVar24 = (internal_extra_pe_aouthdr *)((int)piVar24 + ((uint)bVar35 * -2 + 1) * 4);
    puVar27 = puVar27 + (uint)bVar35 * -2 + 1;
  }
  puVar27 = (uint *)((int)&(peVar3->dynversym_hdr).sh_offset + 4);
  *puVar27 = *puVar27 | 0x20;
  *(undefined4 *)&(peVar3->dynversym_hdr).sh_flags = uVar8;
  *(bfd_boolean *)((int)&(peVar3->dynversym_hdr).sh_addr + 4) = insert_timestamp;
  if ((pep_use_coff_long_section_names < 0) && ((link_info._1_1_ & 0x60) == 0)) {
    if ((link_info._0_1_ & 3) == 2) {
      pep_use_coff_long_section_names = 1;
    }
    else if (file_chain.head != (lang_statement_union *)0x0) {
      plVar23 = file_chain.head;
      do {
        found_debug = 0;
        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);
        pbVar14 = link_info.output_bfd;
        if (found_debug != 0) {
          pep_use_coff_long_section_names = 1;
          break;
        }
        plVar23 = (plVar23->wild_statement).children.head;
      } while (plVar23 != (lang_statement_union *)0x0);
    }
  }
  pep_output_file_set_long_section_names(pbVar14);
  pep_process_import_defs(link_info.output_bfd,&link_info);
  if (link_info.pei386_auto_import != 0) {
    iVar20 = is_underscoring();
    pcVar18 = "_head_";
    if (iVar20 != 0) {
      pcVar18 = "__head_";
    }
    pep_find_data_imports(pcVar18,make_import_fixup);
  }
  if (pep_enable_stdcall_fixup != 0) {
    if (pep_dll_extra_pe_debug != 0) {
      puts("pep_fixup_stdcalls");
    }
    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;
        pbVar7 = (pbVar7->u).undef.next) {
      if (pbVar7->field_0xc != '\x01') goto LAB_00053dd0;
      pcVar18 = (pbVar7->root).string;
      if (*pcVar18 == '@') {
        pcVar18 = (char *)xstrdup(pcVar18);
        *pcVar18 = '_';
LAB_00053f0f:
        pcVar17 = strchr(pcVar18,0x40);
        if (pcVar17 != (char *)0x0) {
          *pcVar17 = '\0';
        }
        iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1);
        if ((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')) {
          pcVar17 = *(char **)(iVar20 + 0x18);
          uVar8 = *(undefined4 *)(iVar20 + 0x1c);
          pbVar7->field_0xc = 3;
          pbVar14 = *(bfd **)(iVar20 + 0x14);
          bVar34 = pep_enable_stdcall_fixup == -1;
          (pbVar7->u).i.warning = pcVar17;
          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;
          (pbVar7->u).undef.abfd = pbVar14;
          if (bVar34) {
            pcVar17 = (pbVar7->root).string;
            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);
            goto LAB_00053e6d;
          }
        }
      }
      else {
        pcVar17 = strchr(pcVar18,0x40);
        if (pcVar17 != (char *)0x0) {
          pcVar18 = (char *)xstrdup(pcVar18);
          goto LAB_00053f0f;
        }
        pep_undef_found_sym = (bfd_link_hash_entry *)0x0;
        bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);
        pbVar10 = pep_undef_found_sym;
        if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {
          pcVar18 = (pep_undef_found_sym->u).i.warning;
          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);
          pbVar7->field_0xc = 3;
          bVar34 = pep_enable_stdcall_fixup != -1;
          (pbVar7->u).i.warning = pcVar18;
          pbVar14 = (pbVar10->u).undef.abfd;
          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;
          (pbVar7->u).undef.abfd = pbVar14;
          if (bVar34) goto LAB_00053dd0;
          pcVar18 = (pbVar10->root).string;
          pcVar17 = (pbVar7->root).string;
          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);
LAB_00053e6d:
          einfo(fmt,pcVar17,pcVar18);
          if (gave_warning_message_12556 == 0) {
            gave_warning_message_12556 = 1;
            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5
                                       );
            einfo(pcVar18);
            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)
            ;
            einfo(pcVar18);
          }
        }
      }
LAB_00053dd0:
    }
  }
  if ((link_info._0_1_ & 3) != 2) {
    pep_dll_build_sections(link_info.output_bfd,&link_info);
  }
  local_40 = file_chain.head;
  if (file_chain.head != (lang_statement_union *)0x0) {
    do {
      pbVar14 = (local_40->input_statement).the_bfd;
      if ((pbVar14->my_archive != (bfd *)0x0) &&
         (local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0)) {
        iVar20 = 0;
        bVar33 = true;
        pbVar19 = local_38;
        bVar9 = 0;
        bVar34 = false;
        do {
          bVar31 = false;
          iVar21 = 9;
          pbVar26 = (byte *)pbVar19->name;
          pbVar30 = (byte *)".idata$2";
          do {
            if (iVar21 == 0) break;
            iVar21 = iVar21 + -1;
            bVar31 = *pbVar26 < *pbVar30;
            bVar33 = *pbVar26 == *pbVar30;
            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;
            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;
          } while (bVar33);
          bVar32 = false;
          bVar33 = (!bVar31 && !bVar33) == bVar31;
          bVar31 = true;
          if (!bVar33) {
            bVar31 = bVar34;
          }
          iVar21 = 7;
          pbVar26 = (byte *)pbVar19->name;
          pbVar30 = (byte *)".idata$";
          do {
            if (iVar21 == 0) break;
            iVar21 = iVar21 + -1;
            bVar32 = *pbVar26 < *pbVar30;
            bVar33 = *pbVar26 == *pbVar30;
            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;
            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;
          } while (bVar33);
          bVar11 = 1;
          if ((!bVar32 && !bVar33) != bVar32) {
            bVar11 = bVar9;
          }
          iVar20 = iVar20 + pbVar19->reloc_count;
          pbVar19 = pbVar19->next;
          bVar33 = pbVar19 == (bfd_section *)0x0;
          bVar9 = bVar11;
          bVar34 = bVar31;
        } while (!bVar33);
        if (((bool)(bVar11 & iVar20 != 0)) && (!bVar31)) {
          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {
            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);
            if (iVar21 == 0) {
              pwVar22 = (local_40->wild_statement).section_list;
              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);
              einfo(pcVar18,pwVar22);
              return;
            }
            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;
            __ptr = (undefined4 *)xmalloc(iVar20);
            iVar20 = bfd_canonicalize_reloc
                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);
            if (iVar20 < 0) {
              free(__ptr);
              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);
              einfo(pcVar18);
              return;
            }
            puVar25 = __ptr;
            if (iVar20 != 0) {
              do {
                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&
                    (iVar21 = bfd_link_hash_lookup
                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,
                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {
                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);
                  puVar15 = (undefined4 *)puVar5[0x23];
                  if (puVar15 == (undefined4 *)0x0) {
                    puVar15 = puVar5;
                  }
                  pcVar18 = (char *)*puVar15;
                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,
                                        pcVar18);
                  if (iVar21 != 0) {
                    sVar16 = strlen(pcVar18);
                    pcVar17 = (char *)xmalloc(sVar16 + 1);
                    strcpy(pcVar17,pcVar18);
                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;
                  }
                }
                puVar25 = puVar25 + 1;
              } while (puVar25 != __ptr + iVar20);
            }
            free(__ptr);
            local_38 = local_38->next;
            if (local_38 == (bfd_section *)0x0) break;
            pbVar14 = (bfd *)(local_40->wild_statement).section_list;
          }
        }
      }
      local_40 = (local_40->wild_statement).children.head;
    } while (local_40 != (lang_statement_union *)0x0);
    local_50 = file_chain.head;
    if (file_chain.head != (lang_statement_union *)0x0) {
      bVar34 = false;
      uVar28 = 0;
      do {
        uVar6 = ((local_50->reloc_statement).section)->lineno_count;
        if (uVar6 != 0) {
          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);
          plVar23 = local_50;
          if (uVar28 == uVar6) {
            if (!bVar34) goto LAB_00053a60;
          }
          else {
            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||
                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {
              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;
              if (plVar23 == (lang_statement_union *)0x0) {
                bVar34 = false;
                uVar28 = uVar6;
                goto LAB_00053a60;
              }
              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;
              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);
            }
            do {
              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;
              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;
              pcVar18 = strrchr((char *)pwVar22,0x2e);
              if (pcVar18 == (char *)0x0) {
LAB_00053b30:
                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);
                if (iVar20 != 0) {
                  bVar34 = false;
                  uVar28 = uVar6;
                  goto LAB_00053a60;
                }
              }
              else {
                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);
                if (iVar20 != 0) {
                  pwVar22 = ((plVar29->wild_statement).section_list)->next;
                  goto LAB_00053b30;
                }
              }
              plVar29 = (plVar29->wild_statement).children.head;
            } while (plVar29 != (lang_statement_union *)0x0);
            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);
          }
          bVar34 = true;
          iVar20 = filename_cmp(pcVar18,".dll");
          uVar28 = uVar6;
          if (iVar20 == 0) {
            pbVar19 = ((local_50->input_statement).the_bfd)->sections;
            if (pbVar19 == (bfd_section *)0x0) {
              iVar20 = 99;
            }
            else {
              bVar33 = true;
              iVar21 = 0;
              bVar34 = false;
              do {
                bVar31 = false;
                iVar20 = 9;
                pbVar26 = (byte *)pbVar19->name;
                pbVar30 = (byte *)".idata$2";
                do {
                  if (iVar20 == 0) break;
                  iVar20 = iVar20 + -1;
                  bVar31 = *pbVar26 < *pbVar30;
                  bVar33 = *pbVar26 == *pbVar30;
                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;
                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;
                } while (bVar33);
                if ((!bVar31 && !bVar33) == bVar31) {
                  bVar34 = true;
                }
                iVar21 = iVar21 + pbVar19->reloc_count;
                pbVar19 = pbVar19->next;
                bVar33 = pbVar19 == (bfd_section *)0x0;
              } while (!bVar33);
              iVar20 = 0x61;
              if (!bVar34) {
                iVar20 = (iVar21 < 1) + 0x62;
              }
            }
            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);
            pcVar18 = (char *)xmalloc(sVar16 + 3);
            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);
            ((local_50->reloc_statement).section)->name = pcVar18;
            sVar16 = strlen((local_50->wild_statement).filename);
            pcVar18 = (char *)xmalloc(sVar16 + 3);
            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);
            (local_50->wild_statement).filename = pcVar18;
            bVar34 = true;
          }
        }
LAB_00053a60:
        local_50 = (local_50->wild_statement).children.head;
      } while (local_50 != (lang_statement_union *)0x0);
    }
  }
  return;
}



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

void FUN_000535a0(void)

{
  int *piVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  byte bVar4;
  void *pvVar5;
  byte bVar6;
  int iVar7;
  undefined4 *puVar8;
  undefined4 *puVar9;
  size_t sVar10;
  char *pcVar11;
  undefined4 uVar12;
  char *pcVar13;
  int iVar14;
  undefined4 uVar15;
  int iVar16;
  int iVar17;
  undefined4 *puVar18;
  byte *pbVar19;
  byte *pbVar20;
  bool bVar21;
  bool bVar22;
  bool bVar23;
  bool bVar24;
  byte bVar25;
  int local_50;
  int local_40;
  undefined4 *local_38;
  int local_20 [3];
  undefined4 uStack_14;
  
  bVar25 = 0;
  uStack_14 = 0x535a9;
  FUN_00033940();
  FUN_00052dd0();
  if (DAT_001d1144 == 0) {
LAB_000535da:
    puVar8 = DAT_001d141c;
    if (DAT_001d0dfc != (void *)0x0) {
      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {
        if (*(int *)(puVar8[1] + 4) == 2) {
          iVar7 = FUN_00038960(DAT_001d0dfc);
          if (iVar7 == 0) {
            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            iVar17 = bfd_make_section_anyway_with_flags
                               (puVar8,".buildid",
                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */
                               );
            iVar7 = DAT_001d1414;
            if (iVar17 != 0) {
              iVar16 = *(int *)(DAT_001d1414 + 0xa0);
              *(code **)(iVar16 + 0x1dc) = FUN_00052960;
              pvVar5 = DAT_001d0dfc;
              iVar14 = *(int *)(iVar16 + 0x58);
              *(int *)(iVar16 + 0x1e4) = iVar17;
              *(void **)(iVar16 + 0x1e0) = pvVar5;
              *(undefined4 *)(iVar17 + 0x2c) = 0x35;
              *(undefined4 *)(iVar17 + 0x30) = 0;
              goto joined_r0x00053689;
            }
            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";
          }
          uVar12 = dcgettext(0,pcVar13,5);
          FUN_00034d20(uVar12);
          break;
        }
      }
LAB_000539a9:
      free(DAT_001d0dfc);
      DAT_001d0dfc = (void *)0x0;
    }
  }
  else {
    printf("%s()\n","gld_i386pep_after_open");
    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {
      printf("-%s\n",*(undefined4 *)(iVar7 + 4));
    }
    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);
    puVar8 = DAT_001d141c;
    if (DAT_001d141c != (undefined4 *)0x0) {
      do {
        printf("*%s\n",*puVar8);
        puVar18 = puVar8 + 0x27;
        puVar8 = (undefined4 *)*puVar18;
      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);
      goto LAB_000535da;
    }
    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;
  }
  iVar7 = DAT_001d1414;
  if (*(int *)(DAT_001d1414 + 0xa0) != 0) {
    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);
joined_r0x00053689:
    if (iVar14 != 0) goto LAB_00053690;
  }
  uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);
  FUN_00034d20(uVar12,iVar7);
LAB_00053690:
  iVar17 = DAT_001d1414;
  iVar7 = *(int *)(DAT_001d1414 + 0xa0);
  puVar8 = &DAT_001d0e20;
  puVar18 = (undefined4 *)(iVar7 + 0x7c);
  for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {
    *puVar18 = *puVar8;
    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;
    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;
  }
  *(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;
  *(undefined4 *)(iVar7 + 0x1c4) = uVar12;
  *(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;
  if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {
    if ((DAT_001d13e0 & 3) == 2) {
      DAT_001d02b4 = 1;
    }
    else if (DAT_001d06bc != 0) {
      iVar7 = DAT_001d06bc;
      do {
        local_20[0] = 0;
        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);
        iVar17 = DAT_001d1414;
        if (local_20[0] != 0) {
          DAT_001d02b4 = 1;
          break;
        }
        iVar7 = *(int *)(iVar7 + 0x18);
      } while (iVar7 != 0);
    }
  }
  FUN_0005fed0(iVar17);
  FUN_0005e960(DAT_001d1414,&DAT_001d13e0);
  if (DAT_001d1448 != 0) {
    iVar7 = FUN_00052dd0();
    pcVar13 = "_head_";
    if (iVar7 != 0) {
      pcVar13 = "__head_";
    }
    FUN_0005ce60(pcVar13,FUN_00052680);
  }
  if (DAT_001cfc6c != 0) {
    if (DAT_001d1144 != 0) {
      puts("pep_fixup_stdcalls");
    }
    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {
      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;
      pcVar13 = *(char **)(iVar7 + 4);
      if (*pcVar13 == '@') {
        pcVar13 = (char *)xstrdup(pcVar13);
        *pcVar13 = '_';
LAB_00053f0f:
        pcVar11 = strchr(pcVar13,0x40);
        if (pcVar11 != (char *)0x0) {
          *pcVar11 = '\0';
        }
        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);
        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {
          uVar12 = *(undefined4 *)(iVar17 + 0x18);
          uVar15 = *(undefined4 *)(iVar17 + 0x1c);
          *(undefined1 *)(iVar7 + 0xc) = 3;
          uVar3 = *(undefined4 *)(iVar17 + 0x14);
          bVar24 = DAT_001cfc6c == -1;
          *(undefined4 *)(iVar7 + 0x18) = uVar12;
          *(undefined4 *)(iVar7 + 0x1c) = uVar15;
          *(undefined4 *)(iVar7 + 0x14) = uVar3;
          if (bVar24) {
            uVar12 = *(undefined4 *)(iVar7 + 4);
            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);
            goto LAB_00053e6d;
          }
        }
      }
      else {
        pcVar11 = strchr(pcVar13,0x40);
        if (pcVar11 != (char *)0x0) {
          pcVar13 = (char *)xstrdup(pcVar13);
          goto LAB_00053f0f;
        }
        DAT_001d0dec = 0;
        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);
        iVar17 = DAT_001d0dec;
        if (DAT_001d0dec != 0) {
          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);
          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);
          *(undefined1 *)(iVar7 + 0xc) = 3;
          bVar24 = DAT_001cfc6c != -1;
          *(undefined4 *)(iVar7 + 0x18) = uVar12;
          uVar12 = *(undefined4 *)(iVar17 + 0x14);
          *(undefined4 *)(iVar7 + 0x1c) = uVar15;
          *(undefined4 *)(iVar7 + 0x14) = uVar12;
          if (bVar24) goto LAB_00053dd0;
          pcVar13 = *(char **)(iVar17 + 4);
          uVar12 = *(undefined4 *)(iVar7 + 4);
          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);
LAB_00053e6d:
          FUN_00034d20(uVar15,uVar12,pcVar13);
          if (DAT_001d0de0 == 0) {
            DAT_001d0de0 = 1;
            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);
            FUN_00034d20(uVar12);
            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);
            FUN_00034d20(uVar12);
          }
        }
      }
LAB_00053dd0:
    }
  }
  if ((DAT_001d13e0 & 3) != 2) {
    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);
  }
  local_40 = DAT_001d06bc;
  if (DAT_001d06bc != 0) {
    do {
      iVar7 = *(int *)(local_40 + 0x10);
      if ((*(int *)(iVar7 + 0x8c) != 0) &&
         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {
        iVar17 = 0;
        bVar23 = true;
        puVar8 = local_38;
        bVar4 = 0;
        bVar24 = false;
        do {
          bVar21 = false;
          iVar16 = 9;
          pbVar19 = (byte *)*puVar8;
          pbVar20 = (byte *)".idata$2";
          do {
            if (iVar16 == 0) break;
            iVar16 = iVar16 + -1;
            bVar21 = *pbVar19 < *pbVar20;
            bVar23 = *pbVar19 == *pbVar20;
            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
          } while (bVar23);
          bVar22 = false;
          bVar23 = (!bVar21 && !bVar23) == bVar21;
          bVar21 = true;
          if (!bVar23) {
            bVar21 = bVar24;
          }
          iVar16 = 7;
          pbVar19 = (byte *)*puVar8;
          pbVar20 = (byte *)".idata$";
          do {
            if (iVar16 == 0) break;
            iVar16 = iVar16 + -1;
            bVar22 = *pbVar19 < *pbVar20;
            bVar23 = *pbVar19 == *pbVar20;
            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
          } while (bVar23);
          bVar6 = 1;
          if ((!bVar22 && !bVar23) != bVar22) {
            bVar6 = bVar4;
          }
          iVar17 = iVar17 + puVar8[0x19];
          puVar8 = (undefined4 *)puVar8[3];
          bVar23 = puVar8 == (undefined4 *)0x0;
          bVar4 = bVar6;
          bVar24 = bVar21;
        } while (!bVar23);
        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {
          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {
            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));
            if (iVar17 == 0) {
              uVar12 = *(undefined4 *)(local_40 + 0x10);
              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);
              FUN_00034d20(uVar15,uVar12);
              return;
            }
            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);
            puVar8 = (undefined4 *)xmalloc(iVar7);
            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);
            if (iVar7 < 0) {
              free(puVar8);
              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);
              FUN_00034d20(uVar12);
              return;
            }
            puVar18 = puVar8;
            if (iVar7 != 0) {
              do {
                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&
                    (iVar17 = bfd_link_hash_lookup
                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)
                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {
                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);
                  puVar9 = (undefined4 *)puVar2[0x23];
                  if (puVar9 == (undefined4 *)0x0) {
                    puVar9 = puVar2;
                  }
                  pcVar13 = (char *)*puVar9;
                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)
                  ;
                  if (iVar17 != 0) {
                    sVar10 = strlen(pcVar13);
                    pcVar11 = (char *)xmalloc(sVar10 + 1);
                    strcpy(pcVar11,pcVar13);
                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;
                  }
                }
                puVar18 = puVar18 + 1;
              } while (puVar18 != puVar8 + iVar7);
            }
            free(puVar8);
            local_38 = (undefined4 *)local_38[3];
            if (local_38 == (undefined4 *)0x0) break;
            iVar7 = *(int *)(local_40 + 0x10);
          }
        }
      }
      local_40 = *(int *)(local_40 + 0x18);
    } while (local_40 != 0);
    local_50 = DAT_001d06bc;
    if (DAT_001d06bc != 0) {
      bVar24 = false;
      iVar7 = 0;
      do {
        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];
        if (iVar17 != 0) {
          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);
          iVar16 = local_50;
          if (iVar7 == iVar17) {
            if (!bVar24) goto LAB_00053a60;
          }
          else {
            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||
                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {
              iVar16 = *(int *)(iVar16 + 0x18);
              if (iVar16 == 0) {
                bVar24 = false;
                iVar7 = iVar17;
                goto LAB_00053a60;
              }
              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;
              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);
            }
            do {
              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;
              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);
              pcVar11 = strrchr(pcVar13,0x2e);
              if (pcVar11 == (char *)0x0) {
LAB_00053b30:
                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);
                if (iVar14 != 0) {
                  bVar24 = false;
                  iVar7 = iVar17;
                  goto LAB_00053a60;
                }
              }
              else {
                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);
                if (iVar14 != 0) {
                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);
                  goto LAB_00053b30;
                }
              }
              piVar1 = (int *)(iVar7 + 0x18);
              iVar7 = *piVar1;
            } while (*piVar1 != 0);
            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);
          }
          bVar24 = true;
          iVar16 = filename_cmp(pcVar13,".dll");
          iVar7 = iVar17;
          if (iVar16 == 0) {
            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];
            if (puVar8 == (undefined4 *)0x0) {
              iVar7 = 99;
            }
            else {
              bVar23 = true;
              iVar16 = 0;
              bVar24 = false;
              do {
                bVar21 = false;
                iVar7 = 9;
                pbVar19 = (byte *)*puVar8;
                pbVar20 = (byte *)".idata$2";
                do {
                  if (iVar7 == 0) break;
                  iVar7 = iVar7 + -1;
                  bVar21 = *pbVar19 < *pbVar20;
                  bVar23 = *pbVar19 == *pbVar20;
                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
                } while (bVar23);
                if ((!bVar21 && !bVar23) == bVar21) {
                  bVar24 = true;
                }
                iVar16 = iVar16 + puVar8[0x19];
                puVar8 = (undefined4 *)puVar8[3];
                bVar23 = puVar8 == (undefined4 *)0x0;
              } while (!bVar23);
              iVar7 = 0x61;
              if (!bVar24) {
                iVar7 = (iVar16 < 1) + 0x62;
              }
            }
            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));
            pcVar13 = (char *)xmalloc(sVar10 + 3);
            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);
            **(undefined4 **)(local_50 + 0x10) = pcVar13;
            sVar10 = strlen(*(char **)(local_50 + 8));
            pcVar13 = (char *)xmalloc(sVar10 + 3);
            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);
            *(char **)(local_50 + 8) = pcVar13;
            bVar24 = true;
            iVar7 = iVar17;
          }
        }
LAB_00053a60:
        local_50 = *(int *)(local_50 + 0x18);
      } while (local_50 != 0);
    }
  }
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00017b80
ADD EBX,0x17ba57
SUB ESP,0x4c
CALL 0x00033940
CALL 0x00052dd0
LEA EAX,[EBX + 0x2144]
MOV EBP,dword ptr [EAX]
MOV dword ptr [ESP + 0xc],EAX
TEST EBP,EBP
JNZ 0x00053d00
LEA EAX,[EBX + 0x23e0]
MOV dword ptr [ESP + 0x20],EAX
MOV EDX,dword ptr [EBX + 0x1dfc]
TEST EDX,EDX
JZ 0x000539bf
MOV EAX,dword ptr [ESP + 0x20]
MOV ESI,dword ptr [EAX + 0x3c]
TEST ESI,ESI
JNZ 0x0005360e
JMP 0x000539a9
MOV ESI,dword ptr [ESI + 0x9c]
TEST ESI,ESI
JZ 0x000539a9
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [EAX + 0x4],0x2
JNZ 0x00053600
SUB ESP,0xc
PUSH EDX
CALL 0x00038960
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00053985
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc4cef]
PUSH 0x10412b
PUSH EAX
PUSH ESI
CALL 0x00016220
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00054029
MOV EDX,dword ptr [ESP + 0x20]
LEA ECX,[EBX + 0xffe83960]
MOV ESI,dword ptr [EDX + 0x34]
MOV EDX,dword ptr [ESI + 0xa0]
MOV dword ptr [EDX + 0x1dc],ECX
MOV EDI,dword ptr [EDX + 0x58]
MOV ECX,dword ptr [EBX + 0x1dfc]
MOV dword ptr [EDX + 0x1e4],EAX
MOV dword ptr [EDX + 0x1e0],ECX
MOV dword ptr [EAX + 0x2c],0x35
MOV dword ptr [EAX + 0x30],0x0
TEST EDI,EDI
JZ 0x000539db
NOP
MOV EBP,dword ptr [ESP + 0x20]
LEA ESI,[EBX + 0x1e20]
MOV ECX,0x52
MOV EDX,dword ptr [EBP + 0x34]
MOV EAX,dword ptr [EDX + 0xa0]
LEA EDI,[EAX + 0x7c]
MOVSD.REP ES:EDI,ESI
MOV ECX,dword ptr [EBX + 0xd24]
OR dword ptr [EAX + 0x1d8],0x20
LEA ESI,[EBX + 0x12b4]
MOV dword ptr [EAX + 0x1c4],ECX
MOV ECX,dword ptr [EBX + 0xc70]
MOV dword ptr [EAX + 0x1d0],ECX
LEA EAX,[EBX + 0x16bc]
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [ESI]
TEST EAX,EAX
JS 0x00053c80
SUB ESP,0xc
PUSH EDX
CALL 0x0005fed0
POP EAX
POP EDX
MOV ESI,dword ptr [ESP + 0x28]
PUSH ESI
PUSH dword ptr [ESI + 0x34]
CALL 0x0005e960
MOV ECX,dword ptr [ESI + 0x68]
ADD ESP,0x10
TEST ECX,ECX
JNZ 0x00053ed0
MOV EAX,dword ptr [EBX + 0xc6c]
TEST EAX,EAX
JNZ 0x00053d9d
MOV EAX,dword ptr [ESP + 0x20]
MOVZX EAX,byte ptr [EAX]
MOV byte ptr [ESP + 0xc],AL
AND EAX,0x3
CMP AL,0x2
JZ 0x0005373f
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x28]
PUSH EAX
PUSH dword ptr [EAX + 0x34]
CALL 0x0005ff40
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x2c]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x1c],EAX
TEST EAX,EAX
JNZ 0x0005376b
JMP 0x00053a29
MOV EAX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EAX + 0x18]
MOV dword ptr [ESP + 0x1c],EAX
TEST EAX,EAX
JZ 0x00053a31
MOV EAX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EAX + 0x10]
MOV EBP,dword ptr [EAX + 0x8c]
MOV dword ptr [ESP + 0x28],EAX
TEST EBP,EBP
JZ 0x00053758
MOV EAX,dword ptr [EAX + 0x60]
MOV dword ptr [ESP + 0x24],EAX
TEST EAX,EAX
JZ 0x00053758
MOV EDX,EAX
LEA EAX,[EBX + 0xfffc4cf8]
MOV dword ptr [ESP + 0xc],0x0
XOR EBP,EBP
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[EBX + 0xfffc4c11]
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x14],EAX
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [EDX]
MOV EDI,dword ptr [ESP + 0x18]
MOV ECX,0x9
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
MOV EDI,0x1
MOV ESI,EAX
SETA CL
SBB CL,0x0
TEST CL,CL
CMOVNZ EDI,dword ptr [ESP + 0x10]
MOV ECX,0x7
MOV dword ptr [ESP + 0x10],EDI
MOV EDI,dword ptr [ESP + 0x14]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
MOV EAX,0x1
CMOVNZ EAX,dword ptr [ESP + 0xc]
ADD EBP,dword ptr [EDX + 0x64]
MOV EDX,dword ptr [EDX + 0xc]
MOV dword ptr [ESP + 0xc],EAX
TEST EDX,EDX
JNZ 0x000537b8
TEST EBP,EBP
SETNZ AL
TEST byte ptr [ESP + 0xc],AL
JZ 0x00053758
TEST byte ptr [ESP + 0x10],0x1
JNZ 0x00053758
MOV EBP,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [ESP + 0x28]
LEA ESI,[ESI]
NOP
SUB ESP,0x8
PUSH dword ptr [ESP + 0x2c]
PUSH EAX
CALL 0x00016bf0
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JLE 0x00053758
SUB ESP,0xc
PUSH dword ptr [EBP + 0x10]
CALL 0x00016180
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00053fa7
MOV EAX,dword ptr [EBP + 0x10]
SUB ESP,0xc
MOV EDI,dword ptr [EAX + 0x78]
PUSH ESI
CALL 0x00016dc8
MOV dword ptr [ESP + 0x20],EAX
MOV ESI,EAX
PUSH EDI
PUSH EAX
PUSH dword ptr [ESP + 0x3c]
PUSH dword ptr [EBP + 0x10]
CALL 0x00016b20
ADD ESP,0x20
TEST EAX,EAX
JS 0x000539ff
LEA EDI,[ESI + EAX*0x4]
JZ 0x0005395b
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESI]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX]
TEST byte ptr [EAX + 0x10],0x1
JNZ 0x00053950
SUB ESP,0xc
PUSH 0x1
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EAX + 0x4]
MOV EAX,dword ptr [ESP + 0x3c]
PUSH dword ptr [EAX + 0x20]
CALL 0x00016590
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00053950
CMP byte ptr [EAX + 0xc],0x3
JNZ 0x00053950
MOV EAX,dword ptr [EAX + 0x14]
MOV EDX,dword ptr [EAX + 0xac]
MOV EAX,dword ptr [EDX + 0x8c]
TEST EAX,EAX
CMOVZ EAX,EDX
SUB ESP,0x8
MOV EDX,dword ptr [EAX]
MOV EAX,dword ptr [EBP + 0x10]
PUSH EDX
MOV EAX,dword ptr [EAX + 0x8c]
MOV dword ptr [ESP + 0x18],EDX
PUSH dword ptr [EAX]
CALL 0x00016230
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00053950
SUB ESP,0xc
MOV EDX,dword ptr [ESP + 0x18]
PUSH EDX
MOV dword ptr [ESP + 0x1c],EDX
CALL 0x00016760
ADD EAX,0x1
MOV dword ptr [ESP],EAX
CALL 0x00016dc8
MOV ECX,EAX
POP EAX
POP EDX
MOV EDX,dword ptr [ESP + 0x14]
PUSH EDX
PUSH ECX
MOV dword ptr [ESP + 0x1c],ECX
CALL 0x00016530
MOV EAX,dword ptr [EBP + 0x10]
MOV ECX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x8c]
MOV dword ptr [EAX],ECX
NOP
ADD ESI,0x4
CMP ESI,EDI
JNZ 0x000538a0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x00016db0
MOV EAX,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x34],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00053758
MOV EAX,dword ptr [EBP + 0x10]
JMP 0x00053830
SUB ESP,0x4
LEA EAX,[EBX + 0xffedf9d4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016310
MOV dword ptr [ESP],EAX
CALL 0x00034d20
MOV EDX,dword ptr [EBX + 0x1dfc]
ADD ESP,0x10
SUB ESP,0xc
PUSH EDX
CALL 0x00016db0
ADD ESP,0x10
MOV dword ptr [EBX + 0x1dfc],0x0
MOV EAX,dword ptr [ESP + 0x20]
MOV ESI,dword ptr [EAX + 0x34]
MOV EDX,dword ptr [ESI + 0xa0]
TEST EDX,EDX
JZ 0x000539db
MOV EDI,dword ptr [EDX + 0x58]
TEST EDI,EDI
JNZ 0x00053690
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd20ac]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016310
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00034d20
ADD ESP,0x10
JMP 0x00053690
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x00016db0
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd215c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016310
MOV dword ptr [ESP],EAX
CALL 0x00034d20
ADD ESP,0x10
ADD ESP,0x4c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0x2c]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0xc],EAX
TEST EAX,EAX
JZ 0x00053a29
LEA EAX,[EBX + 0xfffc4d01]
XOR ESI,ESI
MOV EDI,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00053a6f
TEST ESI,ESI
JNZ 0x00053b6a
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x18]
MOV dword ptr [ESP + 0xc],EAX
TEST EAX,EAX
JZ 0x00053a29
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x10]
MOV EBP,dword ptr [EAX + 0x8c]
TEST EBP,EBP
JZ 0x00053a60
SUB ESP,0x8
PUSH 0x2e
PUSH dword ptr [EAX]
CALL 0x00016a40
ADD ESP,0x10
CMP EDI,EBP
JZ 0x00053a58
MOV ESI,dword ptr [ESP + 0xc]
LEA EDI,[EBX + 0xfffc4ea2]
JMP 0x00053aba
MOV EAX,dword ptr [ESI + 0x10]
CMP EBP,dword ptr [EAX + 0x8c]
JNZ 0x00053ae0
SUB ESP,0x8
PUSH 0x2e
PUSH dword ptr [EAX]
CALL 0x00016a40
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00053acf
SUB ESP,0x8
PUSH EDI
PUSH EAX
CALL 0x00016230
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00053ae0
MOV ESI,dword ptr [ESI + 0x18]
TEST ESI,ESI
JNZ 0x00053aa0
MOV EDI,EBP
JMP 0x00053a60
MOV dword ptr [ESP + 0x10],EBP
MOV EDI,dword ptr [ESP + 0xc]
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [EDI + 0x10]
MOV EDX,dword ptr [ESP + 0x10]
CMP EDX,dword ptr [EAX + 0x8c]
JNZ 0x00053fa0
MOV EBP,dword ptr [EAX]
SUB ESP,0x8
PUSH 0x2e
PUSH EBP
CALL 0x00016a40
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00053b30
SUB ESP,0x8
PUSH dword ptr [ESP + 0x1c]
PUSH EAX
CALL 0x00016230
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00053b49
MOV EAX,dword ptr [EDI + 0x10]
MOV EBP,dword ptr [EAX]
MOV EAX,dword ptr [ESI + 0x10]
SUB ESP,0x8
PUSH EBP
PUSH dword ptr [EAX]
CALL 0x00016230
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00053ff2
MOV EDI,dword ptr [EDI + 0x18]
TEST EDI,EDI
JNZ 0x00053af0
MOV EBP,dword ptr [ESP + 0x10]
SUB ESP,0x8
PUSH 0x2e
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX + 0x10]
PUSH dword ptr [EAX]
CALL 0x00016a40
ADD ESP,0x10
SUB ESP,0x8
LEA EDX,[EBX + 0xfffc4ea2]
MOV EDI,EBP
MOV ESI,0x1
PUSH EDX
PUSH EAX
CALL 0x00016230
ADD ESP,0x10
MOV EDX,EAX
TEST EAX,EAX
JNZ 0x00053a60
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EAX + 0x60]
TEST EAX,EAX
JZ 0x00054058
LEA ECX,[EBX + 0xfffc4cf8]
XOR ESI,ESI
MOV dword ptr [ESP + 0x1c],EBP
MOV dword ptr [ESP + 0x10],ECX
MOV EBP,ESI
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV ESI,dword ptr [EAX]
MOV EDI,dword ptr [ESP + 0x10]
MOV ECX,0x9
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
MOV ECX,0x1
CMOVZ EDX,ECX
ADD EBP,dword ptr [EAX + 0x64]
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JNZ 0x00053bc0
MOV EAX,EBP
MOV ESI,0x61
MOV EBP,dword ptr [ESP + 0x1c]
TEST EDX,EDX
JZ 0x00053fd5
SUB ESP,0xc
LEA EDI,[EBX + 0xfffc4d06]
MOV EAX,dword ptr [ESP + 0x24]
PUSH dword ptr [EAX]
CALL 0x00016760
ADD EAX,0x3
MOV dword ptr [ESP],EAX
CALL 0x00016dc8
PUSH ESI
MOV ECX,dword ptr [ESP + 0x20]
MOV EDX,EAX
MOV EAX,dword ptr [ECX + 0x10]
PUSH dword ptr [EAX]
PUSH EDI
PUSH EDX
MOV dword ptr [ESP + 0x30],EDX
CALL 0x00016af0
MOV ECX,dword ptr [ESP + 0x2c]
MOV EDX,dword ptr [ESP + 0x30]
ADD ESP,0x14
MOV EAX,dword ptr [ECX + 0x10]
MOV dword ptr [ESP + 0x18],ECX
MOV dword ptr [EAX],EDX
PUSH dword ptr [ECX + 0x8]
CALL 0x00016760
ADD EAX,0x3
MOV dword ptr [ESP],EAX
CALL 0x00016dc8
PUSH ESI
MOV ESI,dword ptr [ESP + 0x20]
PUSH dword ptr [ESI + 0x8]
PUSH EDI
MOV EDI,EBP
PUSH EAX
MOV dword ptr [ESP + 0x30],EAX
CALL 0x00016af0
MOV EDX,dword ptr [ESP + 0x30]
ADD ESP,0x20
MOV dword ptr [ESI + 0x8],EDX
MOV ESI,0x1
JMP 0x00053a60
TEST byte ptr [EBP + 0x1],0x60
JNZ 0x000536e6
MOVZX EAX,byte ptr [EBP]
MOV byte ptr [ESP + 0x10],AL
AND EAX,0x3
CMP AL,0x2
JZ 0x00053fe7
MOV EAX,dword ptr [ESP + 0x2c]
MOV EBP,dword ptr [EAX]
TEST EBP,EBP
JZ 0x000536e6
LEA EAX,[EBX + 0xffe83100]
LEA EDI,[ESP + 0x3c]
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00053ccb
MOV EBP,dword ptr [EBP + 0x18]
TEST EBP,EBP
JZ 0x00054039
MOV dword ptr [ESP + 0x3c],0x0
SUB ESP,0x4
PUSH EDI
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [EBP + 0x10]
CALL 0x00016c10
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x3c]
TEST EAX,EAX
JZ 0x00053cc0
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESI],0x1
MOV EDX,dword ptr [EAX + 0x34]
JMP 0x000536e6
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd23fc]
PUSH EAX
LEA EAX,[EBX + 0xfffc4cdf]
PUSH EAX
CALL 0x00016110
LEA EAX,[EBX + 0x23e0]
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,dword ptr [EAX + 0x20]
ADD ESP,0x10
MOV ESI,dword ptr [EAX + 0x1c]
TEST ESI,ESI
JZ 0x00053d55
LEA EDI,[EBX + 0xfffc4ce5]
LEA ESI,[ESI]
NOP
SUB ESP,0x8
PUSH dword ptr [ESI + 0x4]
PUSH EDI
CALL 0x00016110
MOV ESI,dword ptr [ESI + 0x10]
ADD ESP,0x10
TEST ESI,ESI
JNZ 0x00053d38
MOV EAX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x20]
SUB ESP,0x4
LEA EDX,[EBX + 0xffe83650]
PUSH 0x0
PUSH EDX
PUSH EAX
CALL 0x000161b0
MOV EAX,dword ptr [ESP + 0x30]
ADD ESP,0x10
MOV ESI,dword ptr [EAX + 0x3c]
TEST ESI,ESI
JZ 0x00054045
LEA EDI,[EBX + 0xfffc4cea]
NOP
SUB ESP,0x8
PUSH dword ptr [ESI]
PUSH EDI
CALL 0x00016110
MOV ESI,dword ptr [ESI + 0x9c]
ADD ESP,0x10
TEST ESI,ESI
JNZ 0x00053d80
JMP 0x000535da
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x00054012
MOV EAX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x20]
MOV ESI,dword ptr [EAX + 0x1c]
TEST ESI,ESI
JZ 0x0005371a
LEA EAX,[EBX + 0xfffd2b34]
LEA EBP,[EBX + 0xffe83140]
MOV dword ptr [ESP + 0xc],EAX
JMP 0x00053ddb
MOV ESI,dword ptr [ESI + 0x10]
TEST ESI,ESI
JZ 0x0005371a
CMP byte ptr [ESI + 0xc],0x1
JNZ 0x00053dd0
MOV EDI,dword ptr [ESI + 0x4]
CMP byte ptr [EDI],0x40
JZ 0x00053efe
SUB ESP,0x8
PUSH 0x40
PUSH EDI
CALL 0x00016730
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00053fff
MOV dword ptr [EBX + 0x1dec],0x0
SUB ESP,0x4
PUSH EDI
PUSH EBP
MOV EAX,dword ptr [ESP + 0x2c]
PUSH dword ptr [EAX + 0x20]
CALL 0x00016930
MOV ECX,dword ptr [EBX + 0x1dec]
ADD ESP,0x10
TEST ECX,ECX
JZ 0x00053dd0
MOV EAX,dword ptr [ECX + 0x18]
MOV EDX,dword ptr [ECX + 0x1c]
MOV byte ptr [ESI + 0xc],0x3
CMP dword ptr [EBX + 0xc6c],-0x1
MOV dword ptr [ESI + 0x18],EAX
MOV EAX,dword ptr [ECX + 0x14]
MOV dword ptr [ESI + 0x1c],EDX
MOV dword ptr [ESI + 0x14],EAX
JNZ 0x00053dd0
MOV EDX,dword ptr [ECX + 0x4]
SUB ESP,0x4
MOV EDI,dword ptr [ESI + 0x4]
MOV dword ptr [ESP + 0x14],EDX
PUSH 0x5
PUSH dword ptr [ESP + 0x14]
PUSH 0x0
CALL 0x00016310
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0x14]
PUSH EDX
PUSH EDI
PUSH EAX
CALL 0x00034d20
MOV EAX,dword ptr [EBX + 0x1de0]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00053dd0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd20ec]
MOV dword ptr [EBX + 0x1de0],0x1
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016310
MOV dword ptr [ESP],EAX
CALL 0x00034d20
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd2124]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016310
MOV dword ptr [ESP],EAX
CALL 0x00034d20
ADD ESP,0x10
JMP 0x00053dd0
CALL 0x00052dd0
LEA EDX,[EBX + 0xfffc4cd7]
TEST EAX,EAX
LEA EAX,[EBX + 0xfffc4cd8]
CMOVNZ EAX,EDX
SUB ESP,0x8
LEA EDX,[EBX + 0xffe83680]
PUSH EDX
PUSH EAX
CALL 0x0005ce60
ADD ESP,0x10
JMP 0x0005370c
SUB ESP,0xc
PUSH EDI
CALL 0x000164f0
ADD ESP,0x10
MOV byte ptr [EAX],0x5f
MOV EDI,EAX
SUB ESP,0x8
PUSH 0x40
PUSH EDI
CALL 0x00016730
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00053f24
MOV byte ptr [EAX],0x0
SUB ESP,0xc
PUSH 0x1
PUSH 0x0
PUSH 0x0
PUSH EDI
MOV EAX,dword ptr [ESP + 0x3c]
PUSH dword ptr [EAX + 0x20]
CALL 0x00016590
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00053dd0
CMP byte ptr [EAX + 0xc],0x3
JNZ 0x00053dd0
MOV EDX,dword ptr [EAX + 0x18]
MOV ECX,dword ptr [EAX + 0x1c]
MOV byte ptr [ESI + 0xc],0x3
MOV EAX,dword ptr [EAX + 0x14]
CMP dword ptr [EBX + 0xc6c],-0x1
MOV dword ptr [ESI + 0x18],EDX
MOV dword ptr [ESI + 0x1c],ECX
MOV dword ptr [ESI + 0x14],EAX
JNZ 0x00053dd0
MOV EDX,dword ptr [ESI + 0x4]
SUB ESP,0x4
MOV dword ptr [ESP + 0x14],EDX
PUSH 0x5
PUSH dword ptr [ESP + 0x14]
PUSH 0x0
CALL 0x00016310
ADD ESP,0xc
PUSH EDI
MOV EDX,dword ptr [ESP + 0x18]
PUSH EDX
JMP 0x00053e6d
MOV EBP,EDX
JMP 0x00053b54
MOV EAX,dword ptr [ESP + 0x1c]
SUB ESP,0x4
MOV ESI,dword ptr [EAX + 0x10]
LEA EAX,[EBX + 0xffead370]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016310
POP ECX
POP EDI
PUSH ESI
PUSH EAX
CALL 0x00034d20
ADD ESP,0x10
ADD ESP,0x4c
POP EBX
POP ESI
POP EDI
POP EBP
RET
TEST EAX,EAX
SETLE AL
MOVZX EAX,AL
MOV ESI,EAX
ADD ESI,0x62
JMP 0x00053bfa
MOV dword ptr [ESI],0x1
JMP 0x000536e6
MOV EBP,dword ptr [ESP + 0x10]
XOR ESI,ESI
MOV EDI,EBP
JMP 0x00053a60
SUB ESP,0xc
PUSH EDI
CALL 0x000164f0
ADD ESP,0x10
MOV EDI,EAX
JMP 0x00053f0f
SUB ESP,0xc
LEA EAX,[EBX + 0xfffd23e8]
PUSH EAX
CALL 0x00016660
ADD ESP,0x10
JMP 0x00053dab
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2068]
PUSH 0x5
JMP 0x00053990
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [EAX + 0x34]
JMP 0x000536e6
MOV EDX,dword ptr [EBX + 0x1dfc]
TEST EDX,EDX
JNZ 0x000539a9
JMP 0x000539bf
MOV ESI,0x63
JMP 0x00053bfa
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_000535a0(void)\n\n{\n  int *piVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  byte bVar4;\n  void *pvVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  size_t sVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_50;\n  int local_40;\n  undefined4 *local_38;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar25 = 0;\n  uStack_14 = 0x535a9;\n  FUN_00033940();\n  FUN_00052dd0();\n  if (DAT_001d1144 == 0) {\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }\n  iVar7 = DAT_001d1414;\n  if (*(int *)(DAT_001d1414 + 0xa0) != 0) {\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }\n  uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);\n  FUN_00034d20(uVar12,iVar7);\nLAB_00053690:\n  iVar17 = DAT_001d1414;\n  iVar7 = *(int *)(DAT_001d1414 + 0xa0);\n  puVar8 = &DAT_001d0e20;\n  puVar18 = (undefined4 *)(iVar7 + 0x7c);\n  for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }\n  *(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;\n  *(undefined4 *)(iVar7 + 0x1c4) = uVar12;\n  *(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;\n  if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }\n  FUN_0005fed0(iVar17);\n  FUN_0005e960(DAT_001d1414,&DAT_001d13e0);\n  if (DAT_001d1448 != 0) {\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }\n  if (DAT_001cfc6c != 0) {\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }\n  if ((DAT_001d13e0 & 3) != 2) {\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }\n  local_40 = DAT_001d06bc;\n  if (DAT_001d06bc != 0) {\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_000535a0(void)\n\n{\n  int *piVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  byte bVar4;\n  void *pvVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  size_t sVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_50;\n  int local_40;\n  undefined4 *local_38;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar25 = 0;\n  uStack_14 = 0x535a9;\n  FUN_00033940();\n  FUN_00052dd0();\n  if (DAT_001d1144 == 0) {\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }\n  iVar7 = DAT_001d1414;\n  if (*(int *)(DAT_001d1414 + 0xa0) != 0) {\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }\n  uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);\n  FUN_00034d20(uVar12,iVar7);\nLAB_00053690:\n  iVar17 = DAT_001d1414;\n  iVar7 = *(int *)(DAT_001d1414 + 0xa0);\n  puVar8 = &DAT_001d0e20;\n  puVar18 = (undefined4 *)(iVar7 + 0x7c);\n  for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }\n  *(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;\n  *(undefined4 *)(iVar7 + 0x1c4) = uVar12;\n  *(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;\n  if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }\n  FUN_0005fed0(iVar17);\n  FUN_0005e960(DAT_001d1414,&DAT_001d13e0);\n  if (DAT_001d1448 != 0) {\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }\n  if (DAT_001cfc6c != 0) {\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }\n  if ((DAT_001d13e0 & 3) != 2) {\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }\n  local_40 = DAT_001d06bc;\n  if (DAT_001d06bc != 0) {\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000535a0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int *piVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  byte bVar4;\n  void *pvVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  size_t sVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_50;\n  int local_40;\n  undefined4 *local_38;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar25 = 0;\n  uStack_14 = 0x535a9;\n  FUN_00033940();\n  FUN_00052dd0();\n  if (DAT_001d1144 == 0) {\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }\n  iVar7 = DAT_001d1414;\n  if (*(int *)(DAT_001d1414 + 0xa0) != 0) {\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }\n  uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);\n  FUN_00034d20(uVar12,iVar7);\nLAB_00053690:\n  iVar17 = DAT_001d1414;\n  iVar7 = *(int *)(DAT_001d1414 + 0xa0);\n  puVar8 = &DAT_001d0e20;\n  puVar18 = (undefined4 *)(iVar7 + 0x7c);\n  for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }\n  *(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;\n  *(undefined4 *)(iVar7 + 0x1c4) = uVar12;\n  *(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;\n  if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }\n  FUN_0005fed0(iVar17);\n  FUN_0005e960(DAT_001d1414,&DAT_001d13e0);\n  if (DAT_001d1448 != 0) {\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }\n  if (DAT_001cfc6c != 0) {\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }\n  if ((DAT_001d13e0 & 3) != 2) {\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }\n  local_40 = DAT_001d06bc;\n  if (DAT_001d06bc != 0) {\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "void *pvVar5;" primitive_type (pointer_declarator "*pvVar5" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_20 [3];" primitive_type (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x535a9;" (assignment_expression "uStack_14 = 0x535a9" identifier = number_literal) ;) (expression_statement "FUN_00033940();" (call_expression "FUN_00033940()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00052dd0();" (call_expression "FUN_00052dd0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_001d1144 == 0) {\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }" if (parenthesized_expression "(DAT_001d1144 == 0)" ( (binary_expression "DAT_001d1144 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }" { (labeled_statement "LAB_000535da:\n    puVar8 = DAT_001d141c;" statement_identifier : (expression_statement "puVar8 = DAT_001d141c;" (assignment_expression "puVar8 = DAT_001d141c" identifier = identifier) ;)) (if_statement "if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }" if (parenthesized_expression "(DAT_001d0dfc != (void *)0x0)" ( (binary_expression "DAT_001d0dfc != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }" { (for_statement "for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }" for ( ; (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar8 = (undefined4 *)puVar8[0x27]" identifier = (cast_expression "(undefined4 *)puVar8[0x27]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[0x27]" identifier [ number_literal ]))) ) (compound_statement "{\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }" { (if_statement "if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }" if (parenthesized_expression "(*(int *)(puVar8[1] + 4) == 2)" ( (binary_expression "*(int *)(puVar8[1] + 4) == 2" (pointer_expression "*(int *)(puVar8[1] + 4)" * (cast_expression "(int *)(puVar8[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8[1] + 4)" ( (binary_expression "puVar8[1] + 4" (subscript_expression "puVar8[1]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }" { (expression_statement "iVar7 = FUN_00038960(DAT_001d0dfc);" (assignment_expression "iVar7 = FUN_00038960(DAT_001d0dfc)" identifier = (call_expression "FUN_00038960(DAT_001d0dfc)" identifier (argument_list "(DAT_001d0dfc)" ( identifier )))) ;) (if_statement "if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" { (expression_statement "pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar13 = "%P: warning: unrecognized --build-id style ignored\n"" identifier = (string_literal ""%P: warning: unrecognized --build-id style ignored\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" else (compound_statement "{\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" { (expression_statement "iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               );" (assignment_expression "iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               )" identifier = (call_expression "bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               )" identifier (argument_list "(puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                               )" ( identifier , (string_literal "".buildid"" " string_content ") , (string_literal "" SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") comment )))) ;) (expression_statement "iVar7 = DAT_001d1414;" (assignment_expression "iVar7 = DAT_001d1414" identifier = identifier) ;) (if_statement "if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }" { (expression_statement "iVar16 = *(int *)(DAT_001d1414 + 0xa0);" (assignment_expression "iVar16 = *(int *)(DAT_001d1414 + 0xa0)" identifier = (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" * (cast_expression "(int *)(DAT_001d1414 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1414 + 0xa0)" ( (binary_expression "DAT_001d1414 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(code **)(iVar16 + 0x1dc) = FUN_00052960;" (assignment_expression "*(code **)(iVar16 + 0x1dc) = FUN_00052960" (pointer_expression "*(code **)(iVar16 + 0x1dc)" * (cast_expression "(code **)(iVar16 + 0x1dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x1dc)" ( (binary_expression "iVar16 + 0x1dc" identifier + number_literal) )))) = identifier) ;) (expression_statement "pvVar5 = DAT_001d0dfc;" (assignment_expression "pvVar5 = DAT_001d0dfc" identifier = identifier) ;) (expression_statement "iVar14 = *(int *)(iVar16 + 0x58);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x58)" identifier = (pointer_expression "*(int *)(iVar16 + 0x58)" * (cast_expression "(int *)(iVar16 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x58)" ( (binary_expression "iVar16 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar16 + 0x1e4) = iVar17;" (assignment_expression "*(int *)(iVar16 + 0x1e4) = iVar17" (pointer_expression "*(int *)(iVar16 + 0x1e4)" * (cast_expression "(int *)(iVar16 + 0x1e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x1e4)" ( (binary_expression "iVar16 + 0x1e4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(void **)(iVar16 + 0x1e0) = pvVar5;" (assignment_expression "*(void **)(iVar16 + 0x1e0) = pvVar5" (pointer_expression "*(void **)(iVar16 + 0x1e0)" * (cast_expression "(void **)(iVar16 + 0x1e0)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x1e0)" ( (binary_expression "iVar16 + 0x1e0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar17 + 0x2c) = 0x35;" (assignment_expression "*(undefined4 *)(iVar17 + 0x2c) = 0x35" (pointer_expression "*(undefined4 *)(iVar17 + 0x2c)" * (cast_expression "(undefined4 *)(iVar17 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x2c)" ( (binary_expression "iVar17 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar17 + 0x30) = 0;" (assignment_expression "*(undefined4 *)(iVar17 + 0x30) = 0" (pointer_expression "*(undefined4 *)(iVar17 + 0x30)" * (cast_expression "(undefined4 *)(iVar17 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x30)" ( (binary_expression "iVar17 + 0x30" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto joined_r0x00053689;" goto statement_identifier ;) })) (expression_statement "pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";" (assignment_expression "pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n"" identifier = (string_literal ""%P: warning: cannot create .buildid section, --build-id ignored\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar12 = dcgettext(0,pcVar13,5);" (assignment_expression "uVar12 = dcgettext(0,pcVar13,5)" identifier = (call_expression "dcgettext(0,pcVar13,5)" identifier (argument_list "(0,pcVar13,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (break_statement "break;" break ;) })) })) (labeled_statement "LAB_000539a9:\n      free(DAT_001d0dfc);" statement_identifier : (expression_statement "free(DAT_001d0dfc);" (call_expression "free(DAT_001d0dfc)" identifier (argument_list "(DAT_001d0dfc)" ( identifier ))) ;)) (expression_statement "DAT_001d0dfc = (void *)0x0;" (assignment_expression "DAT_001d0dfc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }" else (compound_statement "{\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }" { (expression_statement "printf("%s()\n","gld_i386pep_after_open");" (call_expression "printf("%s()\n","gld_i386pep_after_open")" identifier (argument_list "("%s()\n","gld_i386pep_after_open")" ( (string_literal ""%s()\n"" " string_content escape_sequence ") , (string_literal ""gld_i386pep_after_open"" " string_content ") ))) ;) (for_statement "for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }" for ( (assignment_expression "iVar7 = *(int *)(DAT_001d1400 + 0x1c)" identifier = (pointer_expression "*(int *)(DAT_001d1400 + 0x1c)" * (cast_expression "(int *)(DAT_001d1400 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1400 + 0x1c)" ( (binary_expression "DAT_001d1400 + 0x1c" identifier + number_literal) ))))) ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = *(int *)(iVar7 + 0x10)" identifier = (pointer_expression "*(int *)(iVar7 + 0x10)" * (cast_expression "(int *)(iVar7 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) ))))) ) (compound_statement "{\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }" { (expression_statement "printf("-%s\n",*(undefined4 *)(iVar7 + 4));" (call_expression "printf("-%s\n",*(undefined4 *)(iVar7 + 4))" identifier (argument_list "("-%s\n",*(undefined4 *)(iVar7 + 4))" ( (string_literal ""-%s\n"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) ))) ;) })) (expression_statement "bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);" (call_expression "bfd_hash_traverse(DAT_001d1400,FUN_00052650,0)" identifier (argument_list "(DAT_001d1400,FUN_00052650,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "puVar8 = DAT_001d141c;" (assignment_expression "puVar8 = DAT_001d141c" identifier = identifier) ;) (if_statement "if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }" if (parenthesized_expression "(DAT_001d141c != (undefined4 *)0x0)" ( (binary_expression "DAT_001d141c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }" { (do_statement "do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);" do (compound_statement "{\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      }" { (expression_statement "printf("*%s\n",*puVar8);" (call_expression "printf("*%s\n",*puVar8)" identifier (argument_list "("*%s\n",*puVar8)" ( (string_literal ""*%s\n"" " string_content escape_sequence ") , (pointer_expression "*puVar8" * identifier) ))) ;) (expression_statement "puVar18 = puVar8 + 0x27;" (assignment_expression "puVar18 = puVar8 + 0x27" identifier = (binary_expression "puVar8 + 0x27" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)*puVar18;" (assignment_expression "puVar8 = (undefined4 *)*puVar18" identifier = (cast_expression "(undefined4 *)*puVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) }) while (parenthesized_expression "((undefined4 *)*puVar18 != (undefined4 *)0x0)" ( (binary_expression "(undefined4 *)*puVar18 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*puVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier)) != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (goto_statement "goto LAB_000535da;" goto statement_identifier ;) })) (if_statement "if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;" if (parenthesized_expression "(DAT_001d0dfc != (void *)0x0)" ( (binary_expression "DAT_001d0dfc != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000539a9;" goto statement_identifier ;)) }))) (expression_statement "iVar7 = DAT_001d1414;" (assignment_expression "iVar7 = DAT_001d1414" identifier = identifier) ;) (if_statement "if (*(int *)(DAT_001d1414 + 0xa0) != 0) {\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }" if (parenthesized_expression "(*(int *)(DAT_001d1414 + 0xa0) != 0)" ( (binary_expression "*(int *)(DAT_001d1414 + 0xa0) != 0" (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" * (cast_expression "(int *)(DAT_001d1414 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1414 + 0xa0)" ( (binary_expression "DAT_001d1414 + 0xa0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }" { (expression_statement "iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);" (assignment_expression "iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" identifier = (pointer_expression "*(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" * (cast_expression "(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" ( (binary_expression "*(int *)(DAT_001d1414 + 0xa0) + 0x58" (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" * (cast_expression "(int *)(DAT_001d1414 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1414 + 0xa0)" ( (binary_expression "DAT_001d1414 + 0xa0" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "joined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;" statement_identifier : (if_statement "if (iVar14 != 0) goto LAB_00053690;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00053690;" goto statement_identifier ;))) })) (expression_statement "uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);" (assignment_expression "uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5)" identifier (argument_list "(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5)" ( number_literal , (string_literal ""%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar12,iVar7);" (call_expression "FUN_00034d20(uVar12,iVar7)" identifier (argument_list "(uVar12,iVar7)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00053690:\n  iVar17 = DAT_001d1414;" statement_identifier : (expression_statement "iVar17 = DAT_001d1414;" (assignment_expression "iVar17 = DAT_001d1414" identifier = identifier) ;)) (expression_statement "iVar7 = *(int *)(DAT_001d1414 + 0xa0);" (assignment_expression "iVar7 = *(int *)(DAT_001d1414 + 0xa0)" identifier = (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" * (cast_expression "(int *)(DAT_001d1414 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1414 + 0xa0)" ( (binary_expression "DAT_001d1414 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = &DAT_001d0e20;" (assignment_expression "puVar8 = &DAT_001d0e20" identifier = (pointer_expression "&DAT_001d0e20" & identifier)) ;) (expression_statement "puVar18 = (undefined4 *)(iVar7 + 0x7c);" (assignment_expression "puVar18 = (undefined4 *)(iVar7 + 0x7c)" identifier = (cast_expression "(undefined4 *)(iVar7 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x7c)" ( (binary_expression "iVar7 + 0x7c" identifier + number_literal) )))) ;) (for_statement "for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }" for ( (assignment_expression "iVar16 = 0x52" identifier = number_literal) ; (comma_expression "uVar12 = DAT_001cfd24, iVar16 != 0" (assignment_expression "uVar12 = DAT_001cfd24" identifier = identifier) , (binary_expression "iVar16 != 0" identifier != number_literal)) ; (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }" { (expression_statement "*puVar18 = *puVar8;" (assignment_expression "*puVar18 = *puVar8" (pointer_expression "*puVar18" * identifier) = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "puVar8 = puVar8 + (uint)bVar25 * -2 + 1;" (assignment_expression "puVar8 = puVar8 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "puVar8 + (uint)bVar25 * -2 + 1" (binary_expression "puVar8 + (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 "puVar18 = puVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "puVar18 = puVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "puVar18 + (uint)bVar25 * -2 + 1" (binary_expression "puVar18 + (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 "*(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;" (assignment_expression "*(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 0x1d8)" * (cast_expression "(uint *)(iVar7 + 0x1d8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1d8)" ( (binary_expression "iVar7 + 0x1d8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 0x1d8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 0x1d8)" * (cast_expression "(uint *)(iVar7 + 0x1d8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1d8)" ( (binary_expression "iVar7 + 0x1d8" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x1c4) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1c4) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x1c4)" * (cast_expression "(undefined4 *)(iVar7 + 0x1c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c4)" ( (binary_expression "iVar7 + 0x1c4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70" (pointer_expression "*(undefined4 *)(iVar7 + 0x1d0)" * (cast_expression "(undefined4 *)(iVar7 + 0x1d0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1d0)" ( (binary_expression "iVar7 + 0x1d0" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }" if (parenthesized_expression "((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0))" ( (binary_expression "(DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)" (parenthesized_expression "(DAT_001d02b4 < 0)" ( (binary_expression "DAT_001d02b4 < 0" identifier < number_literal) )) && (parenthesized_expression "((DAT_001d13e1 & 0x60) == 0)" ( (binary_expression "(DAT_001d13e1 & 0x60) == 0" (parenthesized_expression "(DAT_001d13e1 & 0x60)" ( (binary_expression "DAT_001d13e1 & 0x60" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }" { (if_statement "if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" if (parenthesized_expression "((DAT_001d13e0 & 3) == 2)" ( (binary_expression "(DAT_001d13e0 & 3) == 2" (parenthesized_expression "(DAT_001d13e0 & 3)" ( (binary_expression "DAT_001d13e0 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      DAT_001d02b4 = 1;\n    }" { (expression_statement "DAT_001d02b4 = 1;" (assignment_expression "DAT_001d02b4 = 1" identifier = number_literal) ;) }) (else_clause "else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" else (if_statement "if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" if (parenthesized_expression "(DAT_001d06bc != 0)" ( (binary_expression "DAT_001d06bc != 0" identifier != number_literal) )) (compound_statement "{\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" { (expression_statement "iVar7 = DAT_001d06bc;" (assignment_expression "iVar7 = DAT_001d06bc" identifier = identifier) ;) (do_statement "do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);" do (compound_statement "{\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      }" { (expression_statement "local_20[0] = 0;" (assignment_expression "local_20[0] = 0" (subscript_expression "local_20[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);" (call_expression "bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20)" identifier (argument_list "(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20)" ( (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" * (cast_expression "(undefined4 *)(iVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "iVar17 = DAT_001d1414;" (assignment_expression "iVar17 = DAT_001d1414" identifier = identifier) ;) (if_statement "if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }" if (parenthesized_expression "(local_20[0] != 0)" ( (binary_expression "local_20[0] != 0" (subscript_expression "local_20[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          DAT_001d02b4 = 1;\n          break;\n        }" { (expression_statement "DAT_001d02b4 = 1;" (assignment_expression "DAT_001d02b4 = 1" identifier = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "iVar7 = *(int *)(iVar7 + 0x18);" (assignment_expression "iVar7 = *(int *)(iVar7 + 0x18)" identifier = (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) })))) })) (expression_statement "FUN_0005fed0(iVar17);" (call_expression "FUN_0005fed0(iVar17)" identifier (argument_list "(iVar17)" ( identifier ))) ;) (expression_statement "FUN_0005e960(DAT_001d1414,&DAT_001d13e0);" (call_expression "FUN_0005e960(DAT_001d1414,&DAT_001d13e0)" identifier (argument_list "(DAT_001d1414,&DAT_001d13e0)" ( identifier , (pointer_expression "&DAT_001d13e0" & identifier) ))) ;) (if_statement "if (DAT_001d1448 != 0) {\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }" if (parenthesized_expression "(DAT_001d1448 != 0)" ( (binary_expression "DAT_001d1448 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }" { (expression_statement "iVar7 = FUN_00052dd0();" (assignment_expression "iVar7 = FUN_00052dd0()" identifier = (call_expression "FUN_00052dd0()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar13 = "_head_";" (assignment_expression "pcVar13 = "_head_"" identifier = (string_literal ""_head_"" " string_content ")) ;) (if_statement "if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar13 = "__head_";\n    }" { (expression_statement "pcVar13 = "__head_";" (assignment_expression "pcVar13 = "__head_"" identifier = (string_literal ""__head_"" " string_content ")) ;) })) (expression_statement "FUN_0005ce60(pcVar13,FUN_00052680);" (call_expression "FUN_0005ce60(pcVar13,FUN_00052680)" identifier (argument_list "(pcVar13,FUN_00052680)" ( identifier , identifier ))) ;) })) (if_statement "if (DAT_001cfc6c != 0) {\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }" if (parenthesized_expression "(DAT_001cfc6c != 0)" ( (binary_expression "DAT_001cfc6c != 0" identifier != number_literal) )) (compound_statement "{\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }" { (if_statement "if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }" if (parenthesized_expression "(DAT_001d1144 != 0)" ( (binary_expression "DAT_001d1144 != 0" identifier != number_literal) )) (compound_statement "{\n      puts("pep_fixup_stdcalls");\n    }" { (expression_statement "puts("pep_fixup_stdcalls");" (call_expression "puts("pep_fixup_stdcalls")" identifier (argument_list "("pep_fixup_stdcalls")" ( (string_literal ""pep_fixup_stdcalls"" " string_content ") ))) ;) })) (for_statement "for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }" for ( (assignment_expression "iVar7 = *(int *)(DAT_001d1400 + 0x1c)" identifier = (pointer_expression "*(int *)(DAT_001d1400 + 0x1c)" * (cast_expression "(int *)(DAT_001d1400 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1400 + 0x1c)" ( (binary_expression "DAT_001d1400 + 0x1c" identifier + number_literal) ))))) ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = *(int *)(iVar7 + 0x10)" identifier = (pointer_expression "*(int *)(iVar7 + 0x10)" * (cast_expression "(int *)(iVar7 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) ))))) ) (compound_statement "{\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }" { (if_statement "if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;" if (parenthesized_expression "(*(char *)(iVar7 + 0xc) != '\x01')" ( (binary_expression "*(char *)(iVar7 + 0xc) != '\x01'" (pointer_expression "*(char *)(iVar7 + 0xc)" * (cast_expression "(char *)(iVar7 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_00053dd0;" goto statement_identifier ;)) (expression_statement "pcVar13 = *(char **)(iVar7 + 4);" (assignment_expression "pcVar13 = *(char **)(iVar7 + 4)" identifier = (pointer_expression "*(char **)(iVar7 + 4)" * (cast_expression "(char **)(iVar7 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }" if (parenthesized_expression "(*pcVar13 == '@')" ( (binary_expression "*pcVar13 == '@'" (pointer_expression "*pcVar13" * identifier) == (char_literal "'@'" ' character ')) )) (compound_statement "{\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }" { (expression_statement "pcVar13 = (char *)xstrdup(pcVar13);" (assignment_expression "pcVar13 = (char *)xstrdup(pcVar13)" identifier = (cast_expression "(char *)xstrdup(pcVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))))) ;) (expression_statement "*pcVar13 = '_';" (assignment_expression "*pcVar13 = '_'" (pointer_expression "*pcVar13" * identifier) = (char_literal "'_'" ' character ')) ;) (labeled_statement "LAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);" statement_identifier : (expression_statement "pcVar11 = strchr(pcVar13,0x40);" (assignment_expression "pcVar11 = strchr(pcVar13,0x40)" identifier = (call_expression "strchr(pcVar13,0x40)" identifier (argument_list "(pcVar13,0x40)" ( identifier , number_literal )))) ;)) (if_statement "if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }" if (parenthesized_expression "(pcVar11 != (char *)0x0)" ( (binary_expression "pcVar11 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *pcVar11 = '\0';\n        }" { (expression_statement "*pcVar11 = '\0';" (assignment_expression "*pcVar11 = '\0'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);" (assignment_expression "iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1)" identifier = (call_expression "bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1)" identifier (argument_list "(DAT_001d1400,pcVar13,0,0,1)" ( identifier , identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }" if (parenthesized_expression "((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03'))" ( (binary_expression "(iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')" (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(char *)(iVar17 + 0xc) == '\x03')" ( (binary_expression "*(char *)(iVar17 + 0xc) == '\x03'" (pointer_expression "*(char *)(iVar17 + 0xc)" * (cast_expression "(char *)(iVar17 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0xc)" ( (binary_expression "iVar17 + 0xc" identifier + number_literal) )))) == (char_literal "'\x03'" ' escape_sequence ')) ))) )) (compound_statement "{\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }" { (expression_statement "uVar12 = *(undefined4 *)(iVar17 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(iVar17 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(iVar17 + 0x18)" * (cast_expression "(undefined4 *)(iVar17 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x18)" ( (binary_expression "iVar17 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)(iVar17 + 0x1c);" (assignment_expression "uVar15 = *(undefined4 *)(iVar17 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(iVar17 + 0x1c)" * (cast_expression "(undefined4 *)(iVar17 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x1c)" ( (binary_expression "iVar17 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar7 + 0xc) = 3;" (assignment_expression "*(undefined1 *)(iVar7 + 0xc) = 3" (pointer_expression "*(undefined1 *)(iVar7 + 0xc)" * (cast_expression "(undefined1 *)(iVar7 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar3 = *(undefined4 *)(iVar17 + 0x14);" (assignment_expression "uVar3 = *(undefined4 *)(iVar17 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(iVar17 + 0x14)" * (cast_expression "(undefined4 *)(iVar17 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "bVar24 = DAT_001cfc6c == -1;" (assignment_expression "bVar24 = DAT_001cfc6c == -1" identifier = (binary_expression "DAT_001cfc6c == -1" identifier == number_literal)) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x18) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x1c) = uVar15;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1c) = uVar15" (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" * (cast_expression "(undefined4 *)(iVar7 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(iVar7 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(iVar7 + 0x14)" * (cast_expression "(undefined4 *)(iVar7 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }" { (expression_statement "uVar12 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(iVar7 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);" (assignment_expression "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier = (call_expression "dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier (argument_list "(0,"warning: resolving %s by linking to %s\n",5)" ( number_literal , (string_literal ""warning: resolving %s by linking to %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (goto_statement "goto LAB_00053e6d;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }" else (compound_statement "{\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }" { (expression_statement "pcVar11 = strchr(pcVar13,0x40);" (assignment_expression "pcVar11 = strchr(pcVar13,0x40)" identifier = (call_expression "strchr(pcVar13,0x40)" identifier (argument_list "(pcVar13,0x40)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }" if (parenthesized_expression "(pcVar11 != (char *)0x0)" ( (binary_expression "pcVar11 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }" { (expression_statement "pcVar13 = (char *)xstrdup(pcVar13);" (assignment_expression "pcVar13 = (char *)xstrdup(pcVar13)" identifier = (cast_expression "(char *)xstrdup(pcVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))))) ;) (goto_statement "goto LAB_00053f0f;" goto statement_identifier ;) })) (expression_statement "DAT_001d0dec = 0;" (assignment_expression "DAT_001d0dec = 0" identifier = number_literal) ;) (expression_statement "bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);" (call_expression "bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13)" identifier (argument_list "(DAT_001d1400,FUN_00052140,pcVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar17 = DAT_001d0dec;" (assignment_expression "iVar17 = DAT_001d0dec" identifier = identifier) ;) (if_statement "if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }" if (parenthesized_expression "(DAT_001d0dec != 0)" ( (binary_expression "DAT_001d0dec != 0" identifier != number_literal) )) (compound_statement "{\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }" { (expression_statement "uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18)" identifier = (pointer_expression "*(undefined4 *)(DAT_001d0dec + 0x18)" * (cast_expression "(undefined4 *)(DAT_001d0dec + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d0dec + 0x18)" ( (binary_expression "DAT_001d0dec + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);" (assignment_expression "uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(DAT_001d0dec + 0x1c)" * (cast_expression "(undefined4 *)(DAT_001d0dec + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d0dec + 0x1c)" ( (binary_expression "DAT_001d0dec + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar7 + 0xc) = 3;" (assignment_expression "*(undefined1 *)(iVar7 + 0xc) = 3" (pointer_expression "*(undefined1 *)(iVar7 + 0xc)" * (cast_expression "(undefined1 *)(iVar7 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar24 = DAT_001cfc6c != -1;" (assignment_expression "bVar24 = DAT_001cfc6c != -1" identifier = (binary_expression "DAT_001cfc6c != -1" identifier != number_literal)) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x18) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar12 = *(undefined4 *)(iVar17 + 0x14);" (assignment_expression "uVar12 = *(undefined4 *)(iVar17 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(iVar17 + 0x14)" * (cast_expression "(undefined4 *)(iVar17 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x1c) = uVar15;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1c) = uVar15" (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" * (cast_expression "(undefined4 *)(iVar7 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x14) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x14) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x14)" * (cast_expression "(undefined4 *)(iVar7 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (bVar24) goto LAB_00053dd0;" if (parenthesized_expression "(bVar24)" ( identifier )) (goto_statement "goto LAB_00053dd0;" goto statement_identifier ;)) (expression_statement "pcVar13 = *(char **)(iVar17 + 4);" (assignment_expression "pcVar13 = *(char **)(iVar17 + 4)" identifier = (pointer_expression "*(char **)(iVar17 + 4)" * (cast_expression "(char **)(iVar17 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar17 + 4)" ( (binary_expression "iVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(iVar7 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);" (assignment_expression "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier = (call_expression "dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier (argument_list "(0,"warning: resolving %s by linking to %s\n",5)" ( number_literal , (string_literal ""warning: resolving %s by linking to %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (labeled_statement "LAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);" statement_identifier : (expression_statement "FUN_00034d20(uVar15,uVar12,pcVar13);" (call_expression "FUN_00034d20(uVar15,uVar12,pcVar13)" identifier (argument_list "(uVar15,uVar12,pcVar13)" ( identifier , identifier , identifier ))) ;)) (if_statement "if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }" if (parenthesized_expression "(DAT_001d0de0 == 0)" ( (binary_expression "DAT_001d0de0 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }" { (expression_statement "DAT_001d0de0 = 1;" (assignment_expression "DAT_001d0de0 = 1" identifier = number_literal) ;) (expression_statement "uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5)" identifier = (call_expression "dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5)" identifier (argument_list "(0,"Use --enable-stdcall-fixup to disable these warnings\n",5)" ( number_literal , (string_literal ""Use --enable-stdcall-fixup to disable these warnings\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" identifier = (call_expression "dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" identifier (argument_list "(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" ( number_literal , (string_literal ""Use --disable-stdcall-fixup to disable these fixups\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) })) })) }))) (labeled_statement "LAB_00053dd0:" statement_identifier : (expression_statement "" ;)) })) })) (if_statement "if ((DAT_001d13e0 & 3) != 2) {\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }" if (parenthesized_expression "((DAT_001d13e0 & 3) != 2)" ( (binary_expression "(DAT_001d13e0 & 3) != 2" (parenthesized_expression "(DAT_001d13e0 & 3)" ( (binary_expression "DAT_001d13e0 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }" { (expression_statement "FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);" (call_expression "FUN_0005ff40(DAT_001d1414,&DAT_001d13e0)" identifier (argument_list "(DAT_001d1414,&DAT_001d13e0)" ( identifier , (pointer_expression "&DAT_001d13e0" & identifier) ))) ;) })) (expression_statement "local_40 = DAT_001d06bc;" (assignment_expression "local_40 = DAT_001d06bc" identifier = identifier) ;) (if_statement "if (DAT_001d06bc != 0) {\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }" if (parenthesized_expression "(DAT_001d06bc != 0)" ( (binary_expression "DAT_001d06bc != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }" { (do_statement "do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);" do (compound_statement "{\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    }" { (expression_statement "iVar7 = *(int *)(local_40 + 0x10);" (assignment_expression "iVar7 = *(int *)(local_40 + 0x10)" identifier = (pointer_expression "*(int *)(local_40 + 0x10)" * (cast_expression "(int *)(local_40 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }" if (parenthesized_expression "((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0))" ( (binary_expression "(*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)" (parenthesized_expression "(*(int *)(iVar7 + 0x8c) != 0)" ( (binary_expression "*(int *)(iVar7 + 0x8c) != 0" (pointer_expression "*(int *)(iVar7 + 0x8c)" * (cast_expression "(int *)(iVar7 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x8c)" ( (binary_expression "iVar7 + 0x8c" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)" ( (comma_expression "local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0" (assignment_expression "local_38 = *(undefined4 **)(iVar7 + 0x60)" identifier = (pointer_expression "*(undefined4 **)(iVar7 + 0x60)" * (cast_expression "(undefined4 **)(iVar7 + 0x60)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x60)" ( (binary_expression "iVar7 + 0x60" identifier + number_literal) ))))) , (binary_expression "local_38 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "bVar23 = true;" (assignment_expression "bVar23 = true" identifier = true) ;) (expression_statement "puVar8 = local_38;" (assignment_expression "puVar8 = local_38" identifier = identifier) ;) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (do_statement "do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);" do (compound_statement "{\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        }" { (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "iVar16 = 9;" (assignment_expression "iVar16 = 9" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)*puVar8;" (assignment_expression "pbVar19 = (byte *)*puVar8" identifier = (cast_expression "(byte *)*puVar8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "pbVar20 = (byte *)".idata$2";" (assignment_expression "pbVar20 = (byte *)".idata$2"" identifier = (cast_expression "(byte *)".idata$2"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".idata$2"" " string_content "))) ;) (do_statement "do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);" do (compound_statement "{\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar16 == 0) break;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar16 = iVar16 + -1;" (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar19 < *pbVar20;" (assignment_expression "bVar21 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar23 = *pbVar19 == *pbVar20;" (assignment_expression "bVar23 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * 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 "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (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 "(bVar23)" ( identifier )) ;) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar23 = (!bVar21 && !bVar23) == bVar21;" (assignment_expression "bVar23 = (!bVar21 && !bVar23) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" ( (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" identifier = true) ;) (if_statement "if (!bVar23) {\n            bVar21 = bVar24;\n          }" if (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) (compound_statement "{\n            bVar21 = bVar24;\n          }" { (expression_statement "bVar21 = bVar24;" (assignment_expression "bVar21 = bVar24" identifier = identifier) ;) })) (expression_statement "iVar16 = 7;" (assignment_expression "iVar16 = 7" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)*puVar8;" (assignment_expression "pbVar19 = (byte *)*puVar8" identifier = (cast_expression "(byte *)*puVar8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "pbVar20 = (byte *)".idata$";" (assignment_expression "pbVar20 = (byte *)".idata$"" identifier = (cast_expression "(byte *)".idata$"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".idata$"" " string_content "))) ;) (do_statement "do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);" do (compound_statement "{\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar16 == 0) break;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar16 = iVar16 + -1;" (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar19 < *pbVar20;" (assignment_expression "bVar22 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar23 = *pbVar19 == *pbVar20;" (assignment_expression "bVar23 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * 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 "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (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 "(bVar23)" ( identifier )) ;) (expression_statement "bVar6 = 1;" (assignment_expression "bVar6 = 1" identifier = number_literal) ;) (if_statement "if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }" if (parenthesized_expression "((!bVar22 && !bVar23) != bVar22)" ( (binary_expression "(!bVar22 && !bVar23) != bVar22" (parenthesized_expression "(!bVar22 && !bVar23)" ( (binary_expression "!bVar22 && !bVar23" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) != identifier) )) (compound_statement "{\n            bVar6 = bVar4;\n          }" { (expression_statement "bVar6 = bVar4;" (assignment_expression "bVar6 = bVar4" identifier = identifier) ;) })) (expression_statement "iVar17 = iVar17 + puVar8[0x19];" (assignment_expression "iVar17 = iVar17 + puVar8[0x19]" identifier = (binary_expression "iVar17 + puVar8[0x19]" identifier + (subscript_expression "puVar8[0x19]" identifier [ number_literal ]))) ;) (expression_statement "puVar8 = (undefined4 *)puVar8[3];" (assignment_expression "puVar8 = (undefined4 *)puVar8[3]" identifier = (cast_expression "(undefined4 *)puVar8[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[3]" identifier [ number_literal ]))) ;) (expression_statement "bVar23 = puVar8 == (undefined4 *)0x0;" (assignment_expression "bVar23 = puVar8 == (undefined4 *)0x0" identifier = (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar4 = bVar6;" (assignment_expression "bVar4 = bVar6" identifier = identifier) ;) (expression_statement "bVar24 = bVar21;" (assignment_expression "bVar24 = bVar21" identifier = identifier) ;) }) while (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) ;) (if_statement "if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }" if (parenthesized_expression "(((bool)(bVar6 & iVar17 != 0)) && (!bVar21))" ( (binary_expression "((bool)(bVar6 & iVar17 != 0)) && (!bVar21)" (parenthesized_expression "((bool)(bVar6 & iVar17 != 0))" ( (cast_expression "(bool)(bVar6 & iVar17 != 0)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar6 & iVar17 != 0)" ( (binary_expression "bVar6 & iVar17 != 0" identifier & (binary_expression "iVar17 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) ))) )) (compound_statement "{\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }" { (while_statement "while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }" while (parenthesized_expression "(iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7)" ( (comma_expression "iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7" (assignment_expression "iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38)" identifier = (call_expression "bfd_get_reloc_upper_bound(iVar7,local_38)" identifier (argument_list "(iVar7,local_38)" ( identifier , identifier )))) , (binary_expression "0 < iVar7" number_literal < identifier)) )) (compound_statement "{\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }" { (expression_statement "iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));" (assignment_expression "iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10))" identifier = (call_expression "bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10))" identifier (argument_list "(*(undefined4 *)(local_40 + 0x10))" ( (pointer_expression "*(undefined4 *)(local_40 + 0x10)" * (cast_expression "(undefined4 *)(local_40 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }" { (expression_statement "uVar12 = *(undefined4 *)(local_40 + 0x10);" (assignment_expression "uVar12 = *(undefined4 *)(local_40 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(local_40 + 0x10)" * (cast_expression "(undefined4 *)(local_40 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);" (assignment_expression "uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5)" identifier (argument_list "(0,"%F%P: %pB: could not read symbols: %E\n",5)" ( number_literal , (string_literal ""%F%P: %pB: could not read symbols: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar15,uVar12);" (call_expression "FUN_00034d20(uVar15,uVar12)" identifier (argument_list "(uVar15,uVar12)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);" (assignment_expression "uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78)" * (cast_expression "(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_40 + 0x10) + 0x78)" ( (binary_expression "*(int *)(local_40 + 0x10) + 0x78" (pointer_expression "*(int *)(local_40 + 0x10)" * (cast_expression "(int *)(local_40 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar8 = (undefined4 *)xmalloc(iVar7);" (assignment_expression "puVar8 = (undefined4 *)xmalloc(iVar7)" identifier = (cast_expression "(undefined4 *)xmalloc(iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(iVar7)" identifier (argument_list "(iVar7)" ( identifier ))))) ;) (expression_statement "iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);" (assignment_expression "iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12)" identifier = (call_expression "bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12)" identifier (argument_list "(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12)" ( (pointer_expression "*(undefined4 *)(local_40 + 0x10)" * (cast_expression "(undefined4 *)(local_40 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) )))) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }" { (expression_statement "free(puVar8);" (call_expression "free(puVar8)" identifier (argument_list "(puVar8)" ( identifier ))) ;) (expression_statement "uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);" (assignment_expression "uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: unable to process relocs: %E\n",5)" identifier (argument_list "(0,"%X%P: unable to process relocs: %E\n",5)" ( number_literal , (string_literal ""%X%P: unable to process relocs: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar18 = puVar8;" (assignment_expression "puVar18 = puVar8" identifier = identifier) ;) (if_statement "if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }" { (do_statement "do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);" do (compound_statement "{\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              }" { (if_statement "if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }" if (parenthesized_expression "((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03'))" ( (binary_expression "(((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')" (parenthesized_expression "(((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0))" ( (binary_expression "((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)" (parenthesized_expression "((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0)" ( (binary_expression "(*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0" (parenthesized_expression "(*(byte *)(**(int **)*puVar18 + 0x10) & 1)" ( (binary_expression "*(byte *)(**(int **)*puVar18 + 0x10) & 1" (pointer_expression "*(byte *)(**(int **)*puVar18 + 0x10)" * (cast_expression "(byte *)(**(int **)*puVar18 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)*puVar18 + 0x10)" ( (binary_expression "**(int **)*puVar18 + 0x10" (pointer_expression "**(int **)*puVar18" * (pointer_expression "*(int **)*puVar18" * (cast_expression "(int **)*puVar18" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar18" * identifier)))) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)" ( (comma_expression "iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0" (assignment_expression "iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)" identifier = (call_expression "bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)" identifier (argument_list "(DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)" ( identifier , (pointer_expression "*(undefined4 *)(**(int **)*puVar18 + 4)" * (cast_expression "(undefined4 *)(**(int **)*puVar18 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)*puVar18 + 4)" ( (binary_expression "**(int **)*puVar18 + 4" (pointer_expression "**(int **)*puVar18" * (pointer_expression "*(int **)*puVar18" * (cast_expression "(int **)*puVar18" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar18" * identifier)))) + number_literal) )))) , number_literal , number_literal , number_literal )))) , (binary_expression "iVar17 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(*(char *)(iVar17 + 0xc) == '\x03')" ( (binary_expression "*(char *)(iVar17 + 0xc) == '\x03'" (pointer_expression "*(char *)(iVar17 + 0xc)" * (cast_expression "(char *)(iVar17 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0xc)" ( (binary_expression "iVar17 + 0xc" identifier + number_literal) )))) == (char_literal "'\x03'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }" { (expression_statement "puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);" (assignment_expression "puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac)" * (cast_expression "(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar17 + 0x14) + 0xac)" ( (binary_expression "*(int *)(iVar17 + 0x14) + 0xac" (pointer_expression "*(int *)(iVar17 + 0x14)" * (cast_expression "(int *)(iVar17 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar9 = (undefined4 *)puVar2[0x23];" (assignment_expression "puVar9 = (undefined4 *)puVar2[0x23]" identifier = (cast_expression "(undefined4 *)puVar2[0x23]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[0x23]" identifier [ number_literal ]))) ;) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }" if (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" ( (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    puVar9 = puVar2;\n                  }" { (expression_statement "puVar9 = puVar2;" (assignment_expression "puVar9 = puVar2" identifier = identifier) ;) })) (expression_statement "pcVar13 = (char *)*puVar9;" (assignment_expression "pcVar13 = (char *)*puVar9" identifier = (cast_expression "(char *)*puVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) (expression_statement "iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;" (assignment_expression "iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)" identifier = (call_expression "filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)" identifier (argument_list "(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)" ( (pointer_expression "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" * (pointer_expression "*(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" * (cast_expression "(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(local_40 + 0x10) + 0x8c)" ( (binary_expression "*(int *)(local_40 + 0x10) + 0x8c" (pointer_expression "*(int *)(local_40 + 0x10)" * (cast_expression "(int *)(local_40 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) )))) + number_literal) ))))) , identifier )))) ;) (if_statement "if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }" { (expression_statement "sVar10 = strlen(pcVar13);" (assignment_expression "sVar10 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "pcVar11 = (char *)xmalloc(sVar10 + 1);" (assignment_expression "pcVar11 = (char *)xmalloc(sVar10 + 1)" identifier = (cast_expression "(char *)xmalloc(sVar10 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar10 + 1)" identifier (argument_list "(sVar10 + 1)" ( (binary_expression "sVar10 + 1" identifier + number_literal) ))))) ;) (expression_statement "strcpy(pcVar11,pcVar13);" (call_expression "strcpy(pcVar11,pcVar13)" identifier (argument_list "(pcVar11,pcVar13)" ( identifier , identifier ))) ;) (expression_statement "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;" (assignment_expression "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11" (pointer_expression "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" * (pointer_expression "*(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" * (cast_expression "(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(local_40 + 0x10) + 0x8c)" ( (binary_expression "*(int *)(local_40 + 0x10) + 0x8c" (pointer_expression "*(int *)(local_40 + 0x10)" * (cast_expression "(int *)(local_40 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) )))) + number_literal) ))))) = identifier) ;) })) })) (expression_statement "puVar18 = puVar18 + 1;" (assignment_expression "puVar18 = puVar18 + 1" identifier = (binary_expression "puVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar18 != puVar8 + iVar7)" ( (binary_expression "puVar18 != puVar8 + iVar7" identifier != (binary_expression "puVar8 + iVar7" identifier + identifier)) )) ;) })) (expression_statement "free(puVar8);" (call_expression "free(puVar8)" identifier (argument_list "(puVar8)" ( identifier ))) ;) (expression_statement "local_38 = (undefined4 *)local_38[3];" (assignment_expression "local_38 = (undefined4 *)local_38[3]" identifier = (cast_expression "(undefined4 *)local_38[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_38[3]" identifier [ number_literal ]))) ;) (if_statement "if (local_38 == (undefined4 *)0x0) break;" if (parenthesized_expression "(local_38 == (undefined4 *)0x0)" ( (binary_expression "local_38 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = *(int *)(local_40 + 0x10);" (assignment_expression "iVar7 = *(int *)(local_40 + 0x10)" identifier = (pointer_expression "*(int *)(local_40 + 0x10)" * (cast_expression "(int *)(local_40 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) ))))) ;) })) })) })) (expression_statement "local_40 = *(int *)(local_40 + 0x18);" (assignment_expression "local_40 = *(int *)(local_40 + 0x18)" identifier = (pointer_expression "*(int *)(local_40 + 0x18)" * (cast_expression "(int *)(local_40 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x18)" ( (binary_expression "local_40 + 0x18" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) ;) (expression_statement "local_50 = DAT_001d06bc;" (assignment_expression "local_50 = DAT_001d06bc" identifier = identifier) ;) (if_statement "if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }" if (parenthesized_expression "(DAT_001d06bc != 0)" ( (binary_expression "DAT_001d06bc != 0" identifier != number_literal) )) (compound_statement "{\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }" { (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);" do (compound_statement "{\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      }" { (expression_statement "iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];" (assignment_expression "iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23]" identifier = (subscript_expression "(*(undefined4 **)(local_50 + 0x10))[0x23]" (parenthesized_expression "(*(undefined4 **)(local_50 + 0x10))" ( (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) )))) )) [ number_literal ])) ;) (if_statement "if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }" { (expression_statement "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);" (assignment_expression "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" identifier = (call_expression "strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" identifier (argument_list "((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" ( (cast_expression "(char *)**(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_50 + 0x10)" * (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) )))))) , number_literal )))) ;) (expression_statement "iVar16 = local_50;" (assignment_expression "iVar16 = local_50" identifier = identifier) ;) (if_statement "if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }" if (parenthesized_expression "(iVar7 == iVar17)" ( (binary_expression "iVar7 == iVar17" identifier == identifier) )) (compound_statement "{\n            if (!bVar24) goto LAB_00053a60;\n          }" { (if_statement "if (!bVar24) goto LAB_00053a60;" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (goto_statement "goto LAB_00053a60;" goto statement_identifier ;)) }) (else_clause "else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }" else (compound_statement "{\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }" { (while_statement "while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }" while (parenthesized_expression "((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)))" ( (parenthesized_expression "(iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))" ( (comma_expression "iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)" (assignment_expression "iVar7 = local_50" identifier = identifier) , (binary_expression "pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)" (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)" ( (comma_expression "iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0" (assignment_expression "iVar14 = filename_cmp(pcVar13,".dll")" identifier = (call_expression "filename_cmp(pcVar13,".dll")" identifier (argument_list "(pcVar13,".dll")" ( identifier , (string_literal "".dll"" " string_content ") )))) , (binary_expression "iVar14 != 0" identifier != number_literal)) )))) )) )) (compound_statement "{\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }" { (expression_statement "iVar16 = *(int *)(iVar16 + 0x18);" (assignment_expression "iVar16 = *(int *)(iVar16 + 0x18)" identifier = (pointer_expression "*(int *)(iVar16 + 0x18)" * (cast_expression "(int *)(iVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x18)" ( (binary_expression "iVar16 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }" { (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" identifier = identifier) ;) (goto_statement "goto LAB_00053a60;" goto statement_identifier ;) })) (if_statement "if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;" if (parenthesized_expression "(iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23])" ( (binary_expression "iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]" identifier != (subscript_expression "(*(undefined4 **)(iVar16 + 0x10))[0x23]" (parenthesized_expression "(*(undefined4 **)(iVar16 + 0x10))" ( (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" * (cast_expression "(undefined4 **)(iVar16 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) )))) )) [ number_literal ])) )) (break_statement "break;" break ;)) (expression_statement "pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);" (assignment_expression "pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e)" identifier = (call_expression "strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e)" identifier (argument_list "((char *)**(undefined4 **)(iVar16 + 0x10),0x2e)" ( (cast_expression "(char *)**(undefined4 **)(iVar16 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar16 + 0x10)" * (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" * (cast_expression "(undefined4 **)(iVar16 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) )))))) , number_literal )))) ;) })) (do_statement "do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);" do (compound_statement "{\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            }" { (if_statement "if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;" if (parenthesized_expression "(iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23])" ( (binary_expression "iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]" identifier != (subscript_expression "(*(undefined4 **)(iVar7 + 0x10))[0x23]" (parenthesized_expression "(*(undefined4 **)(iVar7 + 0x10))" ( (pointer_expression "*(undefined4 **)(iVar7 + 0x10)" * (cast_expression "(undefined4 **)(iVar7 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) )) [ number_literal ])) )) (break_statement "break;" break ;)) (expression_statement "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);" (assignment_expression "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10)" identifier = (cast_expression "(char *)**(undefined4 **)(iVar7 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar7 + 0x10)" * (pointer_expression "*(undefined4 **)(iVar7 + 0x10)" * (cast_expression "(undefined4 **)(iVar7 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) ))))))) ;) (expression_statement "pcVar11 = strrchr(pcVar13,0x2e);" (assignment_expression "pcVar11 = strrchr(pcVar13,0x2e)" identifier = (call_expression "strrchr(pcVar13,0x2e)" identifier (argument_list "(pcVar13,0x2e)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }" if (parenthesized_expression "(pcVar11 == (char *)0x0)" ( (binary_expression "pcVar11 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }" { (labeled_statement "LAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);" statement_identifier : (expression_statement "iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);" (assignment_expression "iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13)" identifier = (call_expression "filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13)" identifier (argument_list "(**(undefined4 **)(iVar16 + 0x10),pcVar13)" ( (pointer_expression "**(undefined4 **)(iVar16 + 0x10)" * (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" * (cast_expression "(undefined4 **)(iVar16 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) ))))) , identifier )))) ;)) (if_statement "if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }" { (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" identifier = identifier) ;) (goto_statement "goto LAB_00053a60;" goto statement_identifier ;) })) }) (else_clause "else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }" else (compound_statement "{\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }" { (expression_statement "iVar14 = filename_cmp(pcVar11,&DAT_00193d01);" (assignment_expression "iVar14 = filename_cmp(pcVar11,&DAT_00193d01)" identifier = (call_expression "filename_cmp(pcVar11,&DAT_00193d01)" identifier (argument_list "(pcVar11,&DAT_00193d01)" ( identifier , (pointer_expression "&DAT_00193d01" & identifier) )))) ;) (if_statement "if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }" { (expression_statement "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);" (assignment_expression "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10)" identifier = (cast_expression "(char *)**(undefined4 **)(iVar7 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar7 + 0x10)" * (pointer_expression "*(undefined4 **)(iVar7 + 0x10)" * (cast_expression "(undefined4 **)(iVar7 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) ))))))) ;) (goto_statement "goto LAB_00053b30;" goto statement_identifier ;) })) }))) (expression_statement "piVar1 = (int *)(iVar7 + 0x18);" (assignment_expression "piVar1 = (int *)(iVar7 + 0x18)" identifier = (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) ;) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) }) while (parenthesized_expression "(*piVar1 != 0)" ( (binary_expression "*piVar1 != 0" (pointer_expression "*piVar1" * identifier) != number_literal) )) ;) (expression_statement "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);" (assignment_expression "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" identifier = (call_expression "strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" identifier (argument_list "((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" ( (cast_expression "(char *)**(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_50 + 0x10)" * (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) )))))) , number_literal )))) ;) }))) (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" identifier = true) ;) (expression_statement "iVar16 = filename_cmp(pcVar13,".dll");" (assignment_expression "iVar16 = filename_cmp(pcVar13,".dll")" identifier = (call_expression "filename_cmp(pcVar13,".dll")" identifier (argument_list "(pcVar13,".dll")" ( identifier , (string_literal "".dll"" " string_content ") )))) ;) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" identifier = identifier) ;) (if_statement "if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }" { (expression_statement "puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];" (assignment_expression "puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18]" identifier = (cast_expression "(undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(local_50 + 0x10))[0x18]" (parenthesized_expression "(*(undefined4 **)(local_50 + 0x10))" ( (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }" if (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" ( (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar7 = 99;\n            }" { (expression_statement "iVar7 = 99;" (assignment_expression "iVar7 = 99" identifier = number_literal) ;) }) (else_clause "else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }" else (compound_statement "{\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }" { (expression_statement "bVar23 = true;" (assignment_expression "bVar23 = true" identifier = true) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (do_statement "do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);" do (compound_statement "{\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              }" { (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "iVar7 = 9;" (assignment_expression "iVar7 = 9" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)*puVar8;" (assignment_expression "pbVar19 = (byte *)*puVar8" identifier = (cast_expression "(byte *)*puVar8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "pbVar20 = (byte *)".idata$2";" (assignment_expression "pbVar20 = (byte *)".idata$2"" identifier = (cast_expression "(byte *)".idata$2"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".idata$2"" " string_content "))) ;) (do_statement "do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);" do (compound_statement "{\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar19 < *pbVar20;" (assignment_expression "bVar21 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar23 = *pbVar19 == *pbVar20;" (assignment_expression "bVar23 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * 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 "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (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 "(bVar23)" ( identifier )) ;) (if_statement "if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }" if (parenthesized_expression "((!bVar21 && !bVar23) == bVar21)" ( (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" ( (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier) )) (compound_statement "{\n                  bVar24 = true;\n                }" { (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" identifier = true) ;) })) (expression_statement "iVar16 = iVar16 + puVar8[0x19];" (assignment_expression "iVar16 = iVar16 + puVar8[0x19]" identifier = (binary_expression "iVar16 + puVar8[0x19]" identifier + (subscript_expression "puVar8[0x19]" identifier [ number_literal ]))) ;) (expression_statement "puVar8 = (undefined4 *)puVar8[3];" (assignment_expression "puVar8 = (undefined4 *)puVar8[3]" identifier = (cast_expression "(undefined4 *)puVar8[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[3]" identifier [ number_literal ]))) ;) (expression_statement "bVar23 = puVar8 == (undefined4 *)0x0;" (assignment_expression "bVar23 = puVar8 == (undefined4 *)0x0" identifier = (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }) while (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) ;) (expression_statement "iVar7 = 0x61;" (assignment_expression "iVar7 = 0x61" identifier = number_literal) ;) (if_statement "if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                iVar7 = (iVar16 < 1) + 0x62;\n              }" { (expression_statement "iVar7 = (iVar16 < 1) + 0x62;" (assignment_expression "iVar7 = (iVar16 < 1) + 0x62" identifier = (binary_expression "(iVar16 < 1) + 0x62" (parenthesized_expression "(iVar16 < 1)" ( (binary_expression "iVar16 < 1" identifier < number_literal) )) + number_literal)) ;) })) }))) (expression_statement "sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));" (assignment_expression "sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10))" identifier = (call_expression "strlen((char *)**(undefined4 **)(local_50 + 0x10))" identifier (argument_list "((char *)**(undefined4 **)(local_50 + 0x10))" ( (cast_expression "(char *)**(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_50 + 0x10)" * (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) )))))) )))) ;) (expression_statement "pcVar13 = (char *)xmalloc(sVar10 + 3);" (assignment_expression "pcVar13 = (char *)xmalloc(sVar10 + 3)" identifier = (cast_expression "(char *)xmalloc(sVar10 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar10 + 3)" identifier (argument_list "(sVar10 + 3)" ( (binary_expression "sVar10 + 3" identifier + number_literal) ))))) ;) (expression_statement "sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);" (call_expression "sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7)" identifier (argument_list "(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7)" ( identifier , (string_literal ""%s.%c"" " string_content ") , (pointer_expression "**(undefined4 **)(local_50 + 0x10)" * (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) ))))) , identifier ))) ;) (expression_statement "**(undefined4 **)(local_50 + 0x10) = pcVar13;" (assignment_expression "**(undefined4 **)(local_50 + 0x10) = pcVar13" (pointer_expression "**(undefined4 **)(local_50 + 0x10)" * (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) ))))) = identifier) ;) (expression_statement "sVar10 = strlen(*(char **)(local_50 + 8));" (assignment_expression "sVar10 = strlen(*(char **)(local_50 + 8))" identifier = (call_expression "strlen(*(char **)(local_50 + 8))" identifier (argument_list "(*(char **)(local_50 + 8))" ( (pointer_expression "*(char **)(local_50 + 8)" * (cast_expression "(char **)(local_50 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 8)" ( (binary_expression "local_50 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar13 = (char *)xmalloc(sVar10 + 3);" (assignment_expression "pcVar13 = (char *)xmalloc(sVar10 + 3)" identifier = (cast_expression "(char *)xmalloc(sVar10 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar10 + 3)" identifier (argument_list "(sVar10 + 3)" ( (binary_expression "sVar10 + 3" identifier + number_literal) ))))) ;) (expression_statement "sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);" (call_expression "sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7)" identifier (argument_list "(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7)" ( identifier , (string_literal ""%s.%c"" " string_content ") , (pointer_expression "*(undefined4 *)(local_50 + 8)" * (cast_expression "(undefined4 *)(local_50 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 8)" ( (binary_expression "local_50 + 8" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "*(char **)(local_50 + 8) = pcVar13;" (assignment_expression "*(char **)(local_50 + 8) = pcVar13" (pointer_expression "*(char **)(local_50 + 8)" * (cast_expression "(char **)(local_50 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 8)" ( (binary_expression "local_50 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" identifier = true) ;) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" identifier = identifier) ;) })) })) (labeled_statement "LAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);" statement_identifier : (expression_statement "local_50 = *(int *)(local_50 + 0x18);" (assignment_expression "local_50 = *(int *)(local_50 + 0x18)" identifier = (pointer_expression "*(int *)(local_50 + 0x18)" * (cast_expression "(int *)(local_50 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 0x18)" ( (binary_expression "local_50 + 0x18" identifier + number_literal) ))))) ;)) }) while (parenthesized_expression "(local_50 != 0)" ( (binary_expression "local_50 != 0" identifier != number_literal) )) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid gld_i386pep_after_open(void)\n\n{\n  anon_union_4_2_31908b46_for_link *paVar1;\n  pe_tdata *ppVar2;\n  elf_obj_tdata *peVar3;\n  bfd_symbol **ppbVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  bfd_link_hash_entry *pbVar7;\n  undefined4 uVar8;\n  byte bVar9;\n  bfd_link_hash_entry *pbVar10;\n  byte bVar11;\n  bfd_boolean bVar12;\n  asection *paVar13;\n  bfd *pbVar14;\n  undefined4 *__ptr;\n  undefined4 *puVar15;\n  size_t sVar16;\n  char *pcVar17;\n  char *pcVar18;\n  bfd_section *pbVar19;\n  char *fmt;\n  int iVar20;\n  int iVar21;\n  wildcard_list *pwVar22;\n  lang_statement_union *plVar23;\n  internal_extra_pe_aouthdr *piVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  uint *puVar27;\n  uint uVar28;\n  lang_statement_union *plVar29;\n  byte *pbVar30;\n  bool bVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  lang_statement_union *local_50;\n  lang_statement_union *local_40;\n  bfd_section *local_38;\n  int found_debug;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x535a9;\n  after_open_default();\n  is_underscoring();\n  if (pep_dll_extra_pe_debug == 0) {\nLAB_000535da:\n    pbVar14 = link_info.input_bfds;\n    if (emit_build_id != (char *)0x0) {\n      for (; pbVar14 != (bfd *)0x0; pbVar14 = (pbVar14->link).next) {\n        if (pbVar14->xvec->flavour == bfd_target_coff_flavour) {\n          bVar12 = validate_build_id_style(emit_build_id);\n          if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          pcVar18 = (char *)dcgettext(0,pcVar18,5);\n          einfo(pcVar18);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(emit_build_id);\n      emit_build_id = (char *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      printf("-%s\n",(pbVar7->root).string);\n    }\n    bfd_hash_traverse(link_info.hash,pr_sym,0);\n    pbVar14 = link_info.input_bfds;\n    if (link_info.input_bfds != (bfd *)0x0) {\n      do {\n        printf("*%s\n",pbVar14->filename);\n        paVar1 = &pbVar14->link;\n        pbVar14 = paVar1->next;\n      } while (paVar1->next != (bfd *)0x0);\n      goto LAB_000535da;\n    }\n    if (emit_build_id != (char *)0x0) goto LAB_000539a9;\n  }\n  pbVar14 = link_info.output_bfd;\n  if (((link_info.output_bfd)->tdata).coff_obj_data != (coff_tdata *)0x0) {\n    iVar20 = (((link_info.output_bfd)->tdata).coff_obj_data)->pe;\njoined_r0x00053689:\n    if (iVar20 != 0) goto LAB_00053690;\n  }\n  pcVar18 = (char *)dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"\n                              ,5);\n  einfo(pcVar18,pbVar14);\nLAB_00053690:\n  pbVar14 = link_info.output_bfd;\n  peVar3 = ((link_info.output_bfd)->tdata).elf_obj_data;\n  piVar24 = &pep;\n  puVar27 = &(peVar3->symtab_hdr).sh_link;\n  for (iVar20 = 0x52; uVar8 = (undefined4)init[1].value, iVar20 != 0; iVar20 = iVar20 + -1) {\n    *puVar27 = *(uint *)piVar24;\n    piVar24 = (internal_extra_pe_aouthdr *)((int)piVar24 + ((uint)bVar35 * -2 + 1) * 4);\n    puVar27 = puVar27 + (uint)bVar35 * -2 + 1;\n  }\n  puVar27 = (uint *)((int)&(peVar3->dynversym_hdr).sh_offset + 4);\n  *puVar27 = *puVar27 | 0x20;\n  *(undefined4 *)&(peVar3->dynversym_hdr).sh_flags = uVar8;\n  *(bfd_boolean *)((int)&(peVar3->dynversym_hdr).sh_addr + 4) = insert_timestamp;\n  if ((pep_use_coff_long_section_names < 0) && ((link_info._1_1_ & 0x60) == 0)) {\n    if ((link_info._0_1_ & 3) == 2) {\n      pep_use_coff_long_section_names = 1;\n    }\n    else if (file_chain.head != (lang_statement_union *)0x0) {\n      plVar23 = file_chain.head;\n      do {\n        found_debug = 0;\n        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);\n        pbVar14 = link_info.output_bfd;\n        if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }\n        plVar23 = (plVar23->wild_statement).children.head;\n      } while (plVar23 != (lang_statement_union *)0x0);\n    }\n  }\n  pep_output_file_set_long_section_names(pbVar14);\n  pep_process_import_defs(link_info.output_bfd,&link_info);\n  if (link_info.pei386_auto_import != 0) {\n    iVar20 = is_underscoring();\n    pcVar18 = "_head_";\n    if (iVar20 != 0) {\n      pcVar18 = "__head_";\n    }\n    pep_find_data_imports(pcVar18,make_import_fixup);\n  }\n  if (pep_enable_stdcall_fixup != 0) {\n    if (pep_dll_extra_pe_debug != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      if (pbVar7->field_0xc != '\x01') goto LAB_00053dd0;\n      pcVar18 = (pbVar7->root).string;\n      if (*pcVar18 == '@') {\n        pcVar18 = (char *)xstrdup(pcVar18);\n        *pcVar18 = '_';\nLAB_00053f0f:\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          *pcVar17 = '\0';\n        }\n        iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1);\n        if ((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')) {\n          pcVar17 = *(char **)(iVar20 + 0x18);\n          uVar8 = *(undefined4 *)(iVar20 + 0x1c);\n          pbVar7->field_0xc = 3;\n          pbVar14 = *(bfd **)(iVar20 + 0x14);\n          bVar34 = pep_enable_stdcall_fixup == -1;\n          (pbVar7->u).i.warning = pcVar17;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }\n        pep_undef_found_sym = (bfd_link_hash_entry *)0x0;\n        bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);\n        pbVar10 = pep_undef_found_sym;\n        if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }\n  if ((link_info._0_1_ & 3) != 2) {\n    pep_dll_build_sections(link_info.output_bfd,&link_info);\n  }\n  local_40 = file_chain.head;\n  if (file_chain.head != (lang_statement_union *)0x0) {\n    do {\n      pbVar14 = (local_40->input_statement).the_bfd;\n      if ((pbVar14->my_archive != (bfd *)0x0) &&\n         (local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0)) {\n        iVar20 = 0;\n        bVar33 = true;\n        pbVar19 = local_38;\n        bVar9 = 0;\n        bVar34 = false;\n        do {\n          bVar31 = false;\n          iVar21 = 9;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$2";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar32 = false;\n          bVar33 = (!bVar31 && !bVar33) == bVar31;\n          bVar31 = true;\n          if (!bVar33) {\n            bVar31 = bVar34;\n          }\n          iVar21 = 7;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar11 = 1;\n          if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }\n          iVar20 = iVar20 + pbVar19->reloc_count;\n          pbVar19 = pbVar19->next;\n          bVar33 = pbVar19 == (bfd_section *)0x0;\n          bVar9 = bVar11;\n          bVar34 = bVar31;\n        } while (!bVar33);\n        if (((bool)(bVar11 & iVar20 != 0)) && (!bVar31)) {\n          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }\n        }\n      }\n      local_40 = (local_40->wild_statement).children.head;\n    } while (local_40 != (lang_statement_union *)0x0);\n    local_50 = file_chain.head;\n    if (file_chain.head != (lang_statement_union *)0x0) {\n      bVar34 = false;\n      uVar28 = 0;\n      do {\n        uVar6 = ((local_50->reloc_statement).section)->lineno_count;\n        if (uVar6 != 0) {\n          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          plVar23 = local_50;\n          if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }\n          bVar34 = true;\n          iVar20 = filename_cmp(pcVar18,".dll");\n          uVar28 = uVar6;\n          if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }\n        }\nLAB_00053a60:\n        local_50 = (local_50->wild_statement).children.head;\n      } while (local_50 != (lang_statement_union *)0x0);\n    }\n  }\n  return;\n}\n\n" comment comment (function_definition "void gld_i386pep_after_open(void)\n\n{\n  anon_union_4_2_31908b46_for_link *paVar1;\n  pe_tdata *ppVar2;\n  elf_obj_tdata *peVar3;\n  bfd_symbol **ppbVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  bfd_link_hash_entry *pbVar7;\n  undefined4 uVar8;\n  byte bVar9;\n  bfd_link_hash_entry *pbVar10;\n  byte bVar11;\n  bfd_boolean bVar12;\n  asection *paVar13;\n  bfd *pbVar14;\n  undefined4 *__ptr;\n  undefined4 *puVar15;\n  size_t sVar16;\n  char *pcVar17;\n  char *pcVar18;\n  bfd_section *pbVar19;\n  char *fmt;\n  int iVar20;\n  int iVar21;\n  wildcard_list *pwVar22;\n  lang_statement_union *plVar23;\n  internal_extra_pe_aouthdr *piVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  uint *puVar27;\n  uint uVar28;\n  lang_statement_union *plVar29;\n  byte *pbVar30;\n  bool bVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  lang_statement_union *local_50;\n  lang_statement_union *local_40;\n  bfd_section *local_38;\n  int found_debug;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x535a9;\n  after_open_default();\n  is_underscoring();\n  if (pep_dll_extra_pe_debug == 0) {\nLAB_000535da:\n    pbVar14 = link_info.input_bfds;\n    if (emit_build_id != (char *)0x0) {\n      for (; pbVar14 != (bfd *)0x0; pbVar14 = (pbVar14->link).next) {\n        if (pbVar14->xvec->flavour == bfd_target_coff_flavour) {\n          bVar12 = validate_build_id_style(emit_build_id);\n          if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          pcVar18 = (char *)dcgettext(0,pcVar18,5);\n          einfo(pcVar18);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(emit_build_id);\n      emit_build_id = (char *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      printf("-%s\n",(pbVar7->root).string);\n    }\n    bfd_hash_traverse(link_info.hash,pr_sym,0);\n    pbVar14 = link_info.input_bfds;\n    if (link_info.input_bfds != (bfd *)0x0) {\n      do {\n        printf("*%s\n",pbVar14->filename);\n        paVar1 = &pbVar14->link;\n        pbVar14 = paVar1->next;\n      } while (paVar1->next != (bfd *)0x0);\n      goto LAB_000535da;\n    }\n    if (emit_build_id != (char *)0x0) goto LAB_000539a9;\n  }\n  pbVar14 = link_info.output_bfd;\n  if (((link_info.output_bfd)->tdata).coff_obj_data != (coff_tdata *)0x0) {\n    iVar20 = (((link_info.output_bfd)->tdata).coff_obj_data)->pe;\njoined_r0x00053689:\n    if (iVar20 != 0) goto LAB_00053690;\n  }\n  pcVar18 = (char *)dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"\n                              ,5);\n  einfo(pcVar18,pbVar14);\nLAB_00053690:\n  pbVar14 = link_info.output_bfd;\n  peVar3 = ((link_info.output_bfd)->tdata).elf_obj_data;\n  piVar24 = &pep;\n  puVar27 = &(peVar3->symtab_hdr).sh_link;\n  for (iVar20 = 0x52; uVar8 = (undefined4)init[1].value, iVar20 != 0; iVar20 = iVar20 + -1) {\n    *puVar27 = *(uint *)piVar24;\n    piVar24 = (internal_extra_pe_aouthdr *)((int)piVar24 + ((uint)bVar35 * -2 + 1) * 4);\n    puVar27 = puVar27 + (uint)bVar35 * -2 + 1;\n  }\n  puVar27 = (uint *)((int)&(peVar3->dynversym_hdr).sh_offset + 4);\n  *puVar27 = *puVar27 | 0x20;\n  *(undefined4 *)&(peVar3->dynversym_hdr).sh_flags = uVar8;\n  *(bfd_boolean *)((int)&(peVar3->dynversym_hdr).sh_addr + 4) = insert_timestamp;\n  if ((pep_use_coff_long_section_names < 0) && ((link_info._1_1_ & 0x60) == 0)) {\n    if ((link_info._0_1_ & 3) == 2) {\n      pep_use_coff_long_section_names = 1;\n    }\n    else if (file_chain.head != (lang_statement_union *)0x0) {\n      plVar23 = file_chain.head;\n      do {\n        found_debug = 0;\n        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);\n        pbVar14 = link_info.output_bfd;\n        if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }\n        plVar23 = (plVar23->wild_statement).children.head;\n      } while (plVar23 != (lang_statement_union *)0x0);\n    }\n  }\n  pep_output_file_set_long_section_names(pbVar14);\n  pep_process_import_defs(link_info.output_bfd,&link_info);\n  if (link_info.pei386_auto_import != 0) {\n    iVar20 = is_underscoring();\n    pcVar18 = "_head_";\n    if (iVar20 != 0) {\n      pcVar18 = "__head_";\n    }\n    pep_find_data_imports(pcVar18,make_import_fixup);\n  }\n  if (pep_enable_stdcall_fixup != 0) {\n    if (pep_dll_extra_pe_debug != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      if (pbVar7->field_0xc != '\x01') goto LAB_00053dd0;\n      pcVar18 = (pbVar7->root).string;\n      if (*pcVar18 == '@') {\n        pcVar18 = (char *)xstrdup(pcVar18);\n        *pcVar18 = '_';\nLAB_00053f0f:\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          *pcVar17 = '\0';\n        }\n        iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1);\n        if ((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')) {\n          pcVar17 = *(char **)(iVar20 + 0x18);\n          uVar8 = *(undefined4 *)(iVar20 + 0x1c);\n          pbVar7->field_0xc = 3;\n          pbVar14 = *(bfd **)(iVar20 + 0x14);\n          bVar34 = pep_enable_stdcall_fixup == -1;\n          (pbVar7->u).i.warning = pcVar17;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }\n        pep_undef_found_sym = (bfd_link_hash_entry *)0x0;\n        bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);\n        pbVar10 = pep_undef_found_sym;\n        if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }\n  if ((link_info._0_1_ & 3) != 2) {\n    pep_dll_build_sections(link_info.output_bfd,&link_info);\n  }\n  local_40 = file_chain.head;\n  if (file_chain.head != (lang_statement_union *)0x0) {\n    do {\n      pbVar14 = (local_40->input_statement).the_bfd;\n      if ((pbVar14->my_archive != (bfd *)0x0) &&\n         (local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0)) {\n        iVar20 = 0;\n        bVar33 = true;\n        pbVar19 = local_38;\n        bVar9 = 0;\n        bVar34 = false;\n        do {\n          bVar31 = false;\n          iVar21 = 9;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$2";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar32 = false;\n          bVar33 = (!bVar31 && !bVar33) == bVar31;\n          bVar31 = true;\n          if (!bVar33) {\n            bVar31 = bVar34;\n          }\n          iVar21 = 7;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar11 = 1;\n          if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }\n          iVar20 = iVar20 + pbVar19->reloc_count;\n          pbVar19 = pbVar19->next;\n          bVar33 = pbVar19 == (bfd_section *)0x0;\n          bVar9 = bVar11;\n          bVar34 = bVar31;\n        } while (!bVar33);\n        if (((bool)(bVar11 & iVar20 != 0)) && (!bVar31)) {\n          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }\n        }\n      }\n      local_40 = (local_40->wild_statement).children.head;\n    } while (local_40 != (lang_statement_union *)0x0);\n    local_50 = file_chain.head;\n    if (file_chain.head != (lang_statement_union *)0x0) {\n      bVar34 = false;\n      uVar28 = 0;\n      do {\n        uVar6 = ((local_50->reloc_statement).section)->lineno_count;\n        if (uVar6 != 0) {\n          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          plVar23 = local_50;\n          if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }\n          bVar34 = true;\n          iVar20 = filename_cmp(pcVar18,".dll");\n          uVar28 = uVar6;\n          if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }\n        }\nLAB_00053a60:\n        local_50 = (local_50->wild_statement).children.head;\n      } while (local_50 != (lang_statement_union *)0x0);\n    }\n  }\n  return;\n}" primitive_type (function_declarator "gld_i386pep_after_open(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  anon_union_4_2_31908b46_for_link *paVar1;\n  pe_tdata *ppVar2;\n  elf_obj_tdata *peVar3;\n  bfd_symbol **ppbVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  bfd_link_hash_entry *pbVar7;\n  undefined4 uVar8;\n  byte bVar9;\n  bfd_link_hash_entry *pbVar10;\n  byte bVar11;\n  bfd_boolean bVar12;\n  asection *paVar13;\n  bfd *pbVar14;\n  undefined4 *__ptr;\n  undefined4 *puVar15;\n  size_t sVar16;\n  char *pcVar17;\n  char *pcVar18;\n  bfd_section *pbVar19;\n  char *fmt;\n  int iVar20;\n  int iVar21;\n  wildcard_list *pwVar22;\n  lang_statement_union *plVar23;\n  internal_extra_pe_aouthdr *piVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  uint *puVar27;\n  uint uVar28;\n  lang_statement_union *plVar29;\n  byte *pbVar30;\n  bool bVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  lang_statement_union *local_50;\n  lang_statement_union *local_40;\n  bfd_section *local_38;\n  int found_debug;\n  undefined4 uStack_14;\n  \n  bVar35 = 0;\n  uStack_14 = 0x535a9;\n  after_open_default();\n  is_underscoring();\n  if (pep_dll_extra_pe_debug == 0) {\nLAB_000535da:\n    pbVar14 = link_info.input_bfds;\n    if (emit_build_id != (char *)0x0) {\n      for (; pbVar14 != (bfd *)0x0; pbVar14 = (pbVar14->link).next) {\n        if (pbVar14->xvec->flavour == bfd_target_coff_flavour) {\n          bVar12 = validate_build_id_style(emit_build_id);\n          if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          pcVar18 = (char *)dcgettext(0,pcVar18,5);\n          einfo(pcVar18);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(emit_build_id);\n      emit_build_id = (char *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      printf("-%s\n",(pbVar7->root).string);\n    }\n    bfd_hash_traverse(link_info.hash,pr_sym,0);\n    pbVar14 = link_info.input_bfds;\n    if (link_info.input_bfds != (bfd *)0x0) {\n      do {\n        printf("*%s\n",pbVar14->filename);\n        paVar1 = &pbVar14->link;\n        pbVar14 = paVar1->next;\n      } while (paVar1->next != (bfd *)0x0);\n      goto LAB_000535da;\n    }\n    if (emit_build_id != (char *)0x0) goto LAB_000539a9;\n  }\n  pbVar14 = link_info.output_bfd;\n  if (((link_info.output_bfd)->tdata).coff_obj_data != (coff_tdata *)0x0) {\n    iVar20 = (((link_info.output_bfd)->tdata).coff_obj_data)->pe;\njoined_r0x00053689:\n    if (iVar20 != 0) goto LAB_00053690;\n  }\n  pcVar18 = (char *)dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"\n                              ,5);\n  einfo(pcVar18,pbVar14);\nLAB_00053690:\n  pbVar14 = link_info.output_bfd;\n  peVar3 = ((link_info.output_bfd)->tdata).elf_obj_data;\n  piVar24 = &pep;\n  puVar27 = &(peVar3->symtab_hdr).sh_link;\n  for (iVar20 = 0x52; uVar8 = (undefined4)init[1].value, iVar20 != 0; iVar20 = iVar20 + -1) {\n    *puVar27 = *(uint *)piVar24;\n    piVar24 = (internal_extra_pe_aouthdr *)((int)piVar24 + ((uint)bVar35 * -2 + 1) * 4);\n    puVar27 = puVar27 + (uint)bVar35 * -2 + 1;\n  }\n  puVar27 = (uint *)((int)&(peVar3->dynversym_hdr).sh_offset + 4);\n  *puVar27 = *puVar27 | 0x20;\n  *(undefined4 *)&(peVar3->dynversym_hdr).sh_flags = uVar8;\n  *(bfd_boolean *)((int)&(peVar3->dynversym_hdr).sh_addr + 4) = insert_timestamp;\n  if ((pep_use_coff_long_section_names < 0) && ((link_info._1_1_ & 0x60) == 0)) {\n    if ((link_info._0_1_ & 3) == 2) {\n      pep_use_coff_long_section_names = 1;\n    }\n    else if (file_chain.head != (lang_statement_union *)0x0) {\n      plVar23 = file_chain.head;\n      do {\n        found_debug = 0;\n        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);\n        pbVar14 = link_info.output_bfd;\n        if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }\n        plVar23 = (plVar23->wild_statement).children.head;\n      } while (plVar23 != (lang_statement_union *)0x0);\n    }\n  }\n  pep_output_file_set_long_section_names(pbVar14);\n  pep_process_import_defs(link_info.output_bfd,&link_info);\n  if (link_info.pei386_auto_import != 0) {\n    iVar20 = is_underscoring();\n    pcVar18 = "_head_";\n    if (iVar20 != 0) {\n      pcVar18 = "__head_";\n    }\n    pep_find_data_imports(pcVar18,make_import_fixup);\n  }\n  if (pep_enable_stdcall_fixup != 0) {\n    if (pep_dll_extra_pe_debug != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      if (pbVar7->field_0xc != '\x01') goto LAB_00053dd0;\n      pcVar18 = (pbVar7->root).string;\n      if (*pcVar18 == '@') {\n        pcVar18 = (char *)xstrdup(pcVar18);\n        *pcVar18 = '_';\nLAB_00053f0f:\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          *pcVar17 = '\0';\n        }\n        iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1);\n        if ((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')) {\n          pcVar17 = *(char **)(iVar20 + 0x18);\n          uVar8 = *(undefined4 *)(iVar20 + 0x1c);\n          pbVar7->field_0xc = 3;\n          pbVar14 = *(bfd **)(iVar20 + 0x14);\n          bVar34 = pep_enable_stdcall_fixup == -1;\n          (pbVar7->u).i.warning = pcVar17;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }\n        pep_undef_found_sym = (bfd_link_hash_entry *)0x0;\n        bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);\n        pbVar10 = pep_undef_found_sym;\n        if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }\n  if ((link_info._0_1_ & 3) != 2) {\n    pep_dll_build_sections(link_info.output_bfd,&link_info);\n  }\n  local_40 = file_chain.head;\n  if (file_chain.head != (lang_statement_union *)0x0) {\n    do {\n      pbVar14 = (local_40->input_statement).the_bfd;\n      if ((pbVar14->my_archive != (bfd *)0x0) &&\n         (local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0)) {\n        iVar20 = 0;\n        bVar33 = true;\n        pbVar19 = local_38;\n        bVar9 = 0;\n        bVar34 = false;\n        do {\n          bVar31 = false;\n          iVar21 = 9;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$2";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar32 = false;\n          bVar33 = (!bVar31 && !bVar33) == bVar31;\n          bVar31 = true;\n          if (!bVar33) {\n            bVar31 = bVar34;\n          }\n          iVar21 = 7;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar11 = 1;\n          if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }\n          iVar20 = iVar20 + pbVar19->reloc_count;\n          pbVar19 = pbVar19->next;\n          bVar33 = pbVar19 == (bfd_section *)0x0;\n          bVar9 = bVar11;\n          bVar34 = bVar31;\n        } while (!bVar33);\n        if (((bool)(bVar11 & iVar20 != 0)) && (!bVar31)) {\n          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }\n        }\n      }\n      local_40 = (local_40->wild_statement).children.head;\n    } while (local_40 != (lang_statement_union *)0x0);\n    local_50 = file_chain.head;\n    if (file_chain.head != (lang_statement_union *)0x0) {\n      bVar34 = false;\n      uVar28 = 0;\n      do {\n        uVar6 = ((local_50->reloc_statement).section)->lineno_count;\n        if (uVar6 != 0) {\n          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          plVar23 = local_50;\n          if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }\n          bVar34 = true;\n          iVar20 = filename_cmp(pcVar18,".dll");\n          uVar28 = uVar6;\n          if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }\n        }\nLAB_00053a60:\n        local_50 = (local_50->wild_statement).children.head;\n      } while (local_50 != (lang_statement_union *)0x0);\n    }\n  }\n  return;\n}" { (declaration "anon_union_4_2_31908b46_for_link *paVar1;" type_identifier (pointer_declarator "*paVar1" * identifier) ;) (declaration "pe_tdata *ppVar2;" type_identifier (pointer_declarator "*ppVar2" * identifier) ;) (declaration "elf_obj_tdata *peVar3;" type_identifier (pointer_declarator "*peVar3" * identifier) ;) (declaration "bfd_symbol **ppbVar4;" type_identifier (pointer_declarator "**ppbVar4" * (pointer_declarator "*ppbVar4" * identifier)) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "bfd_link_hash_entry *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "bfd_link_hash_entry *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "bfd_boolean bVar12;" type_identifier identifier ;) (declaration "asection *paVar13;" type_identifier (pointer_declarator "*paVar13" * identifier) ;) (declaration "bfd *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "undefined4 *__ptr;" type_identifier (pointer_declarator "*__ptr" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "bfd_section *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "char *fmt;" primitive_type (pointer_declarator "*fmt" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "wildcard_list *pwVar22;" type_identifier (pointer_declarator "*pwVar22" * identifier) ;) (declaration "lang_statement_union *plVar23;" type_identifier (pointer_declarator "*plVar23" * identifier) ;) (declaration "internal_extra_pe_aouthdr *piVar24;" type_identifier (pointer_declarator "*piVar24" * identifier) ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "byte *pbVar26;" type_identifier (pointer_declarator "*pbVar26" * identifier) ;) (declaration "uint *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "lang_statement_union *plVar29;" type_identifier (pointer_declarator "*plVar29" * identifier) ;) (declaration "byte *pbVar30;" type_identifier (pointer_declarator "*pbVar30" * identifier) ;) (declaration "bool bVar31;" primitive_type identifier ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "bool bVar34;" primitive_type identifier ;) (declaration "byte bVar35;" type_identifier identifier ;) (declaration "lang_statement_union *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "lang_statement_union *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "bfd_section *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int found_debug;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x535a9;" (assignment_expression "uStack_14 = 0x535a9" identifier = number_literal) ;) (expression_statement "after_open_default();" (call_expression "after_open_default()" identifier (argument_list "()" ( ))) ;) (expression_statement "is_underscoring();" (call_expression "is_underscoring()" identifier (argument_list "()" ( ))) ;) (if_statement "if (pep_dll_extra_pe_debug == 0) {\nLAB_000535da:\n    pbVar14 = link_info.input_bfds;\n    if (emit_build_id != (char *)0x0) {\n      for (; pbVar14 != (bfd *)0x0; pbVar14 = (pbVar14->link).next) {\n        if (pbVar14->xvec->flavour == bfd_target_coff_flavour) {\n          bVar12 = validate_build_id_style(emit_build_id);\n          if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          pcVar18 = (char *)dcgettext(0,pcVar18,5);\n          einfo(pcVar18);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(emit_build_id);\n      emit_build_id = (char *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      printf("-%s\n",(pbVar7->root).string);\n    }\n    bfd_hash_traverse(link_info.hash,pr_sym,0);\n    pbVar14 = link_info.input_bfds;\n    if (link_info.input_bfds != (bfd *)0x0) {\n      do {\n        printf("*%s\n",pbVar14->filename);\n        paVar1 = &pbVar14->link;\n        pbVar14 = paVar1->next;\n      } while (paVar1->next != (bfd *)0x0);\n      goto LAB_000535da;\n    }\n    if (emit_build_id != (char *)0x0) goto LAB_000539a9;\n  }" if (parenthesized_expression "(pep_dll_extra_pe_debug == 0)" ( (binary_expression "pep_dll_extra_pe_debug == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000535da:\n    pbVar14 = link_info.input_bfds;\n    if (emit_build_id != (char *)0x0) {\n      for (; pbVar14 != (bfd *)0x0; pbVar14 = (pbVar14->link).next) {\n        if (pbVar14->xvec->flavour == bfd_target_coff_flavour) {\n          bVar12 = validate_build_id_style(emit_build_id);\n          if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          pcVar18 = (char *)dcgettext(0,pcVar18,5);\n          einfo(pcVar18);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(emit_build_id);\n      emit_build_id = (char *)0x0;\n    }\n  }" { (labeled_statement "LAB_000535da:\n    pbVar14 = link_info.input_bfds;" statement_identifier : (expression_statement "pbVar14 = link_info.input_bfds;" (assignment_expression "pbVar14 = link_info.input_bfds" identifier = (field_expression "link_info.input_bfds" identifier . field_identifier)) ;)) (if_statement "if (emit_build_id != (char *)0x0) {\n      for (; pbVar14 != (bfd *)0x0; pbVar14 = (pbVar14->link).next) {\n        if (pbVar14->xvec->flavour == bfd_target_coff_flavour) {\n          bVar12 = validate_build_id_style(emit_build_id);\n          if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          pcVar18 = (char *)dcgettext(0,pcVar18,5);\n          einfo(pcVar18);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(emit_build_id);\n      emit_build_id = (char *)0x0;\n    }" if (parenthesized_expression "(emit_build_id != (char *)0x0)" ( (binary_expression "emit_build_id != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      for (; pbVar14 != (bfd *)0x0; pbVar14 = (pbVar14->link).next) {\n        if (pbVar14->xvec->flavour == bfd_target_coff_flavour) {\n          bVar12 = validate_build_id_style(emit_build_id);\n          if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          pcVar18 = (char *)dcgettext(0,pcVar18,5);\n          einfo(pcVar18);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(emit_build_id);\n      emit_build_id = (char *)0x0;\n    }" { (for_statement "for (; pbVar14 != (bfd *)0x0; pbVar14 = (pbVar14->link).next) {\n        if (pbVar14->xvec->flavour == bfd_target_coff_flavour) {\n          bVar12 = validate_build_id_style(emit_build_id);\n          if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          pcVar18 = (char *)dcgettext(0,pcVar18,5);\n          einfo(pcVar18);\n          break;\n        }\n      }" for ( ; (binary_expression "pbVar14 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pbVar14 = (pbVar14->link).next" identifier = (field_expression "(pbVar14->link).next" (parenthesized_expression "(pbVar14->link)" ( (field_expression "pbVar14->link" identifier -> field_identifier) )) . field_identifier)) ) (compound_statement "{\n        if (pbVar14->xvec->flavour == bfd_target_coff_flavour) {\n          bVar12 = validate_build_id_style(emit_build_id);\n          if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          pcVar18 = (char *)dcgettext(0,pcVar18,5);\n          einfo(pcVar18);\n          break;\n        }\n      }" { (if_statement "if (pbVar14->xvec->flavour == bfd_target_coff_flavour) {\n          bVar12 = validate_build_id_style(emit_build_id);\n          if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          pcVar18 = (char *)dcgettext(0,pcVar18,5);\n          einfo(pcVar18);\n          break;\n        }" if (parenthesized_expression "(pbVar14->xvec->flavour == bfd_target_coff_flavour)" ( (binary_expression "pbVar14->xvec->flavour == bfd_target_coff_flavour" (field_expression "pbVar14->xvec->flavour" (field_expression "pbVar14->xvec" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\n          bVar12 = validate_build_id_style(emit_build_id);\n          if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          pcVar18 = (char *)dcgettext(0,pcVar18,5);\n          einfo(pcVar18);\n          break;\n        }" { (expression_statement "bVar12 = validate_build_id_style(emit_build_id);" (assignment_expression "bVar12 = validate_build_id_style(emit_build_id)" identifier = (call_expression "validate_build_id_style(emit_build_id)" identifier (argument_list "(emit_build_id)" ( identifier )))) ;) (if_statement "if (bVar12 == 0) {\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" if (parenthesized_expression "(bVar12 == 0)" ( (binary_expression "bVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" { (expression_statement "pcVar18 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar18 = "%P: warning: unrecognized --build-id style ignored\n"" identifier = (string_literal ""%P: warning: unrecognized --build-id style ignored\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" else (compound_statement "{\n            paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );\n            pbVar14 = link_info.output_bfd;\n            if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" { (expression_statement "paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                );" (assignment_expression "paVar13 = (asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                )" identifier = (cast_expression "(asection *)\n                      bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                )" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_make_section_anyway_with_flags\n                                (pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                )" identifier (argument_list "(pbVar14,".buildid",\n                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */\n                                )" ( identifier , (string_literal "".buildid"" " string_content ") , (string_literal "" SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") comment ))))) ;) (expression_statement "pbVar14 = link_info.output_bfd;" (assignment_expression "pbVar14 = link_info.output_bfd" identifier = (field_expression "link_info.output_bfd" identifier . field_identifier)) ;) (if_statement "if (paVar13 != (asection *)0x0) {\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }" if (parenthesized_expression "(paVar13 != (asection *)0x0)" ( (binary_expression "paVar13 != (asection *)0x0" identifier != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;\n              (ppVar2->build_id).after_write_object_contents = write_build_id;\n              pcVar18 = emit_build_id;\n              iVar20 = (ppVar2->coff).pe;\n              (ppVar2->build_id).sec = paVar13;\n              (ppVar2->build_id).style = pcVar18;\n              *(undefined4 *)&paVar13->size = 0x35;\n              *(undefined4 *)((int)&paVar13->size + 4) = 0;\n              goto joined_r0x00053689;\n            }" { (expression_statement "ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;" (assignment_expression "ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data" identifier = (field_expression "((link_info.output_bfd)->tdata).pe_obj_data" (parenthesized_expression "((link_info.output_bfd)->tdata)" ( (field_expression "(link_info.output_bfd)->tdata" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "(ppVar2->build_id).after_write_object_contents = write_build_id;" (assignment_expression "(ppVar2->build_id).after_write_object_contents = write_build_id" (field_expression "(ppVar2->build_id).after_write_object_contents" (parenthesized_expression "(ppVar2->build_id)" ( (field_expression "ppVar2->build_id" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pcVar18 = emit_build_id;" (assignment_expression "pcVar18 = emit_build_id" identifier = identifier) ;) (expression_statement "iVar20 = (ppVar2->coff).pe;" (assignment_expression "iVar20 = (ppVar2->coff).pe" identifier = (field_expression "(ppVar2->coff).pe" (parenthesized_expression "(ppVar2->coff)" ( (field_expression "ppVar2->coff" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(ppVar2->build_id).sec = paVar13;" (assignment_expression "(ppVar2->build_id).sec = paVar13" (field_expression "(ppVar2->build_id).sec" (parenthesized_expression "(ppVar2->build_id)" ( (field_expression "ppVar2->build_id" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(ppVar2->build_id).style = pcVar18;" (assignment_expression "(ppVar2->build_id).style = pcVar18" (field_expression "(ppVar2->build_id).style" (parenthesized_expression "(ppVar2->build_id)" ( (field_expression "ppVar2->build_id" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&paVar13->size = 0x35;" (assignment_expression "*(undefined4 *)&paVar13->size = 0x35" (pointer_expression "*(undefined4 *)&paVar13->size" * (cast_expression "(undefined4 *)&paVar13->size" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&paVar13->size" & (field_expression "paVar13->size" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&paVar13->size + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&paVar13->size + 4) = 0" (pointer_expression "*(undefined4 *)((int)&paVar13->size + 4)" * (cast_expression "(undefined4 *)((int)&paVar13->size + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar13->size + 4)" ( (binary_expression "(int)&paVar13->size + 4" (cast_expression "(int)&paVar13->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar13->size" & (field_expression "paVar13->size" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (goto_statement "goto joined_r0x00053689;" goto statement_identifier ;) })) (expression_statement "pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n";" (assignment_expression "pcVar18 = "%P: warning: cannot create .buildid section, --build-id ignored\n"" identifier = (string_literal ""%P: warning: cannot create .buildid section, --build-id ignored\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "pcVar18 = (char *)dcgettext(0,pcVar18,5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,pcVar18,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar18,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar18,5)" identifier (argument_list "(0,pcVar18,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "einfo(pcVar18);" (call_expression "einfo(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (break_statement "break;" break ;) })) })) (labeled_statement "LAB_000539a9:\n      free(emit_build_id);" statement_identifier : (expression_statement "free(emit_build_id);" (call_expression "free(emit_build_id)" identifier (argument_list "(emit_build_id)" ( identifier ))) ;)) (expression_statement "emit_build_id = (char *)0x0;" (assignment_expression "emit_build_id = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      printf("-%s\n",(pbVar7->root).string);\n    }\n    bfd_hash_traverse(link_info.hash,pr_sym,0);\n    pbVar14 = link_info.input_bfds;\n    if (link_info.input_bfds != (bfd *)0x0) {\n      do {\n        printf("*%s\n",pbVar14->filename);\n        paVar1 = &pbVar14->link;\n        pbVar14 = paVar1->next;\n      } while (paVar1->next != (bfd *)0x0);\n      goto LAB_000535da;\n    }\n    if (emit_build_id != (char *)0x0) goto LAB_000539a9;\n  }" else (compound_statement "{\n    printf("%s()\n","gld_i386pep_after_open");\n    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      printf("-%s\n",(pbVar7->root).string);\n    }\n    bfd_hash_traverse(link_info.hash,pr_sym,0);\n    pbVar14 = link_info.input_bfds;\n    if (link_info.input_bfds != (bfd *)0x0) {\n      do {\n        printf("*%s\n",pbVar14->filename);\n        paVar1 = &pbVar14->link;\n        pbVar14 = paVar1->next;\n      } while (paVar1->next != (bfd *)0x0);\n      goto LAB_000535da;\n    }\n    if (emit_build_id != (char *)0x0) goto LAB_000539a9;\n  }" { (expression_statement "printf("%s()\n","gld_i386pep_after_open");" (call_expression "printf("%s()\n","gld_i386pep_after_open")" identifier (argument_list "("%s()\n","gld_i386pep_after_open")" ( (string_literal ""%s()\n"" " string_content escape_sequence ") , (string_literal ""gld_i386pep_after_open"" " string_content ") ))) ;) (for_statement "for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      printf("-%s\n",(pbVar7->root).string);\n    }" for ( (assignment_expression "pbVar7 = (link_info.hash)->undefs" identifier = (field_expression "(link_info.hash)->undefs" (parenthesized_expression "(link_info.hash)" ( (field_expression "link_info.hash" identifier . field_identifier) )) -> field_identifier)) ; (binary_expression "pbVar7 != (bfd_link_hash_entry *)0x0" identifier != (cast_expression "(bfd_link_hash_entry *)0x0" ( (type_descriptor "bfd_link_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pbVar7 = (pbVar7->u).undef.next" identifier = (field_expression "(pbVar7->u).undef.next" (field_expression "(pbVar7->u).undef" (parenthesized_expression "(pbVar7->u)" ( (field_expression "pbVar7->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ) (compound_statement "{\n      printf("-%s\n",(pbVar7->root).string);\n    }" { (expression_statement "printf("-%s\n",(pbVar7->root).string);" (call_expression "printf("-%s\n",(pbVar7->root).string)" identifier (argument_list "("-%s\n",(pbVar7->root).string)" ( (string_literal ""-%s\n"" " string_content escape_sequence ") , (field_expression "(pbVar7->root).string" (parenthesized_expression "(pbVar7->root)" ( (field_expression "pbVar7->root" identifier -> field_identifier) )) . field_identifier) ))) ;) })) (expression_statement "bfd_hash_traverse(link_info.hash,pr_sym,0);" (call_expression "bfd_hash_traverse(link_info.hash,pr_sym,0)" identifier (argument_list "(link_info.hash,pr_sym,0)" ( (field_expression "link_info.hash" identifier . field_identifier) , identifier , number_literal ))) ;) (expression_statement "pbVar14 = link_info.input_bfds;" (assignment_expression "pbVar14 = link_info.input_bfds" identifier = (field_expression "link_info.input_bfds" identifier . field_identifier)) ;) (if_statement "if (link_info.input_bfds != (bfd *)0x0) {\n      do {\n        printf("*%s\n",pbVar14->filename);\n        paVar1 = &pbVar14->link;\n        pbVar14 = paVar1->next;\n      } while (paVar1->next != (bfd *)0x0);\n      goto LAB_000535da;\n    }" if (parenthesized_expression "(link_info.input_bfds != (bfd *)0x0)" ( (binary_expression "link_info.input_bfds != (bfd *)0x0" (field_expression "link_info.input_bfds" identifier . field_identifier) != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      do {\n        printf("*%s\n",pbVar14->filename);\n        paVar1 = &pbVar14->link;\n        pbVar14 = paVar1->next;\n      } while (paVar1->next != (bfd *)0x0);\n      goto LAB_000535da;\n    }" { (do_statement "do {\n        printf("*%s\n",pbVar14->filename);\n        paVar1 = &pbVar14->link;\n        pbVar14 = paVar1->next;\n      } while (paVar1->next != (bfd *)0x0);" do (compound_statement "{\n        printf("*%s\n",pbVar14->filename);\n        paVar1 = &pbVar14->link;\n        pbVar14 = paVar1->next;\n      }" { (expression_statement "printf("*%s\n",pbVar14->filename);" (call_expression "printf("*%s\n",pbVar14->filename)" identifier (argument_list "("*%s\n",pbVar14->filename)" ( (string_literal ""*%s\n"" " string_content escape_sequence ") , (field_expression "pbVar14->filename" identifier -> field_identifier) ))) ;) (expression_statement "paVar1 = &pbVar14->link;" (assignment_expression "paVar1 = &pbVar14->link" identifier = (pointer_expression "&pbVar14->link" & (field_expression "pbVar14->link" identifier -> field_identifier))) ;) (expression_statement "pbVar14 = paVar1->next;" (assignment_expression "pbVar14 = paVar1->next" identifier = (field_expression "paVar1->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(paVar1->next != (bfd *)0x0)" ( (binary_expression "paVar1->next != (bfd *)0x0" (field_expression "paVar1->next" identifier -> field_identifier) != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (goto_statement "goto LAB_000535da;" goto statement_identifier ;) })) (if_statement "if (emit_build_id != (char *)0x0) goto LAB_000539a9;" if (parenthesized_expression "(emit_build_id != (char *)0x0)" ( (binary_expression "emit_build_id != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000539a9;" goto statement_identifier ;)) }))) (expression_statement "pbVar14 = link_info.output_bfd;" (assignment_expression "pbVar14 = link_info.output_bfd" identifier = (field_expression "link_info.output_bfd" identifier . field_identifier)) ;) (if_statement "if (((link_info.output_bfd)->tdata).coff_obj_data != (coff_tdata *)0x0) {\n    iVar20 = (((link_info.output_bfd)->tdata).coff_obj_data)->pe;\njoined_r0x00053689:\n    if (iVar20 != 0) goto LAB_00053690;\n  }" if (parenthesized_expression "(((link_info.output_bfd)->tdata).coff_obj_data != (coff_tdata *)0x0)" ( (binary_expression "((link_info.output_bfd)->tdata).coff_obj_data != (coff_tdata *)0x0" (field_expression "((link_info.output_bfd)->tdata).coff_obj_data" (parenthesized_expression "((link_info.output_bfd)->tdata)" ( (field_expression "(link_info.output_bfd)->tdata" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) != (cast_expression "(coff_tdata *)0x0" ( (type_descriptor "coff_tdata *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar20 = (((link_info.output_bfd)->tdata).coff_obj_data)->pe;\njoined_r0x00053689:\n    if (iVar20 != 0) goto LAB_00053690;\n  }" { (expression_statement "iVar20 = (((link_info.output_bfd)->tdata).coff_obj_data)->pe;" (assignment_expression "iVar20 = (((link_info.output_bfd)->tdata).coff_obj_data)->pe" identifier = (field_expression "(((link_info.output_bfd)->tdata).coff_obj_data)->pe" (parenthesized_expression "(((link_info.output_bfd)->tdata).coff_obj_data)" ( (field_expression "((link_info.output_bfd)->tdata).coff_obj_data" (parenthesized_expression "((link_info.output_bfd)->tdata)" ( (field_expression "(link_info.output_bfd)->tdata" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) )) -> field_identifier)) ;) (labeled_statement "joined_r0x00053689:\n    if (iVar20 != 0) goto LAB_00053690;" statement_identifier : (if_statement "if (iVar20 != 0) goto LAB_00053690;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00053690;" goto statement_identifier ;))) })) (expression_statement "pcVar18 = (char *)dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"\n                              ,5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"\n                              ,5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"\n                              ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"\n                              ,5)" identifier (argument_list "(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"\n                              ,5)" ( number_literal , (string_literal ""%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar18,pbVar14);" (call_expression "einfo(pcVar18,pbVar14)" identifier (argument_list "(pcVar18,pbVar14)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00053690:\n  pbVar14 = link_info.output_bfd;" statement_identifier : (expression_statement "pbVar14 = link_info.output_bfd;" (assignment_expression "pbVar14 = link_info.output_bfd" identifier = (field_expression "link_info.output_bfd" identifier . field_identifier)) ;)) (expression_statement "peVar3 = ((link_info.output_bfd)->tdata).elf_obj_data;" (assignment_expression "peVar3 = ((link_info.output_bfd)->tdata).elf_obj_data" identifier = (field_expression "((link_info.output_bfd)->tdata).elf_obj_data" (parenthesized_expression "((link_info.output_bfd)->tdata)" ( (field_expression "(link_info.output_bfd)->tdata" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "piVar24 = &pep;" (assignment_expression "piVar24 = &pep" identifier = (pointer_expression "&pep" & identifier)) ;) (expression_statement "puVar27 = &(peVar3->symtab_hdr).sh_link;" (assignment_expression "puVar27 = &(peVar3->symtab_hdr).sh_link" identifier = (pointer_expression "&(peVar3->symtab_hdr).sh_link" & (field_expression "(peVar3->symtab_hdr).sh_link" (parenthesized_expression "(peVar3->symtab_hdr)" ( (field_expression "peVar3->symtab_hdr" identifier -> field_identifier) )) . field_identifier))) ;) (for_statement "for (iVar20 = 0x52; uVar8 = (undefined4)init[1].value, iVar20 != 0; iVar20 = iVar20 + -1) {\n    *puVar27 = *(uint *)piVar24;\n    piVar24 = (internal_extra_pe_aouthdr *)((int)piVar24 + ((uint)bVar35 * -2 + 1) * 4);\n    puVar27 = puVar27 + (uint)bVar35 * -2 + 1;\n  }" for ( (assignment_expression "iVar20 = 0x52" identifier = number_literal) ; (comma_expression "uVar8 = (undefined4)init[1].value, iVar20 != 0" (assignment_expression "uVar8 = (undefined4)init[1].value" identifier = (cast_expression "(undefined4)init[1].value" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "init[1].value" (subscript_expression "init[1]" identifier [ number_literal ]) . field_identifier))) , (binary_expression "iVar20 != 0" identifier != number_literal)) ; (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar27 = *(uint *)piVar24;\n    piVar24 = (internal_extra_pe_aouthdr *)((int)piVar24 + ((uint)bVar35 * -2 + 1) * 4);\n    puVar27 = puVar27 + (uint)bVar35 * -2 + 1;\n  }" { (expression_statement "*puVar27 = *(uint *)piVar24;" (assignment_expression "*puVar27 = *(uint *)piVar24" (pointer_expression "*puVar27" * identifier) = (pointer_expression "*(uint *)piVar24" * (cast_expression "(uint *)piVar24" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar24 = (internal_extra_pe_aouthdr *)((int)piVar24 + ((uint)bVar35 * -2 + 1) * 4);" (assignment_expression "piVar24 = (internal_extra_pe_aouthdr *)((int)piVar24 + ((uint)bVar35 * -2 + 1) * 4)" identifier = (cast_expression "(internal_extra_pe_aouthdr *)((int)piVar24 + ((uint)bVar35 * -2 + 1) * 4)" ( (type_descriptor "internal_extra_pe_aouthdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar24 + ((uint)bVar35 * -2 + 1) * 4)" ( (binary_expression "(int)piVar24 + ((uint)bVar35 * -2 + 1) * 4" (cast_expression "(int)piVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "((uint)bVar35 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar35 * -2 + 1)" ( (binary_expression "(uint)bVar35 * -2 + 1" (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal)) )))) ;) (expression_statement "puVar27 = puVar27 + (uint)bVar35 * -2 + 1;" (assignment_expression "puVar27 = puVar27 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "puVar27 + (uint)bVar35 * -2 + 1" (binary_expression "puVar27 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "puVar27 = (uint *)((int)&(peVar3->dynversym_hdr).sh_offset + 4);" (assignment_expression "puVar27 = (uint *)((int)&(peVar3->dynversym_hdr).sh_offset + 4)" identifier = (cast_expression "(uint *)((int)&(peVar3->dynversym_hdr).sh_offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(peVar3->dynversym_hdr).sh_offset + 4)" ( (binary_expression "(int)&(peVar3->dynversym_hdr).sh_offset + 4" (cast_expression "(int)&(peVar3->dynversym_hdr).sh_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(peVar3->dynversym_hdr).sh_offset" & (field_expression "(peVar3->dynversym_hdr).sh_offset" (parenthesized_expression "(peVar3->dynversym_hdr)" ( (field_expression "peVar3->dynversym_hdr" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) ;) (expression_statement "*puVar27 = *puVar27 | 0x20;" (assignment_expression "*puVar27 = *puVar27 | 0x20" (pointer_expression "*puVar27" * identifier) = (binary_expression "*puVar27 | 0x20" (pointer_expression "*puVar27" * identifier) | number_literal)) ;) (expression_statement "*(undefined4 *)&(peVar3->dynversym_hdr).sh_flags = uVar8;" (assignment_expression "*(undefined4 *)&(peVar3->dynversym_hdr).sh_flags = uVar8" (pointer_expression "*(undefined4 *)&(peVar3->dynversym_hdr).sh_flags" * (cast_expression "(undefined4 *)&(peVar3->dynversym_hdr).sh_flags" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(peVar3->dynversym_hdr).sh_flags" & (field_expression "(peVar3->dynversym_hdr).sh_flags" (parenthesized_expression "(peVar3->dynversym_hdr)" ( (field_expression "peVar3->dynversym_hdr" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "*(bfd_boolean *)((int)&(peVar3->dynversym_hdr).sh_addr + 4) = insert_timestamp;" (assignment_expression "*(bfd_boolean *)((int)&(peVar3->dynversym_hdr).sh_addr + 4) = insert_timestamp" (pointer_expression "*(bfd_boolean *)((int)&(peVar3->dynversym_hdr).sh_addr + 4)" * (cast_expression "(bfd_boolean *)((int)&(peVar3->dynversym_hdr).sh_addr + 4)" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(peVar3->dynversym_hdr).sh_addr + 4)" ( (binary_expression "(int)&(peVar3->dynversym_hdr).sh_addr + 4" (cast_expression "(int)&(peVar3->dynversym_hdr).sh_addr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(peVar3->dynversym_hdr).sh_addr" & (field_expression "(peVar3->dynversym_hdr).sh_addr" (parenthesized_expression "(peVar3->dynversym_hdr)" ( (field_expression "peVar3->dynversym_hdr" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;) (if_statement "if ((pep_use_coff_long_section_names < 0) && ((link_info._1_1_ & 0x60) == 0)) {\n    if ((link_info._0_1_ & 3) == 2) {\n      pep_use_coff_long_section_names = 1;\n    }\n    else if (file_chain.head != (lang_statement_union *)0x0) {\n      plVar23 = file_chain.head;\n      do {\n        found_debug = 0;\n        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);\n        pbVar14 = link_info.output_bfd;\n        if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }\n        plVar23 = (plVar23->wild_statement).children.head;\n      } while (plVar23 != (lang_statement_union *)0x0);\n    }\n  }" if (parenthesized_expression "((pep_use_coff_long_section_names < 0) && ((link_info._1_1_ & 0x60) == 0))" ( (binary_expression "(pep_use_coff_long_section_names < 0) && ((link_info._1_1_ & 0x60) == 0)" (parenthesized_expression "(pep_use_coff_long_section_names < 0)" ( (binary_expression "pep_use_coff_long_section_names < 0" identifier < number_literal) )) && (parenthesized_expression "((link_info._1_1_ & 0x60) == 0)" ( (binary_expression "(link_info._1_1_ & 0x60) == 0" (parenthesized_expression "(link_info._1_1_ & 0x60)" ( (binary_expression "link_info._1_1_ & 0x60" (field_expression "link_info._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    if ((link_info._0_1_ & 3) == 2) {\n      pep_use_coff_long_section_names = 1;\n    }\n    else if (file_chain.head != (lang_statement_union *)0x0) {\n      plVar23 = file_chain.head;\n      do {\n        found_debug = 0;\n        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);\n        pbVar14 = link_info.output_bfd;\n        if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }\n        plVar23 = (plVar23->wild_statement).children.head;\n      } while (plVar23 != (lang_statement_union *)0x0);\n    }\n  }" { (if_statement "if ((link_info._0_1_ & 3) == 2) {\n      pep_use_coff_long_section_names = 1;\n    }\n    else if (file_chain.head != (lang_statement_union *)0x0) {\n      plVar23 = file_chain.head;\n      do {\n        found_debug = 0;\n        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);\n        pbVar14 = link_info.output_bfd;\n        if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }\n        plVar23 = (plVar23->wild_statement).children.head;\n      } while (plVar23 != (lang_statement_union *)0x0);\n    }" if (parenthesized_expression "((link_info._0_1_ & 3) == 2)" ( (binary_expression "(link_info._0_1_ & 3) == 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pep_use_coff_long_section_names = 1;\n    }" { (expression_statement "pep_use_coff_long_section_names = 1;" (assignment_expression "pep_use_coff_long_section_names = 1" identifier = number_literal) ;) }) (else_clause "else if (file_chain.head != (lang_statement_union *)0x0) {\n      plVar23 = file_chain.head;\n      do {\n        found_debug = 0;\n        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);\n        pbVar14 = link_info.output_bfd;\n        if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }\n        plVar23 = (plVar23->wild_statement).children.head;\n      } while (plVar23 != (lang_statement_union *)0x0);\n    }" else (if_statement "if (file_chain.head != (lang_statement_union *)0x0) {\n      plVar23 = file_chain.head;\n      do {\n        found_debug = 0;\n        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);\n        pbVar14 = link_info.output_bfd;\n        if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }\n        plVar23 = (plVar23->wild_statement).children.head;\n      } while (plVar23 != (lang_statement_union *)0x0);\n    }" if (parenthesized_expression "(file_chain.head != (lang_statement_union *)0x0)" ( (binary_expression "file_chain.head != (lang_statement_union *)0x0" (field_expression "file_chain.head" identifier . field_identifier) != (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      plVar23 = file_chain.head;\n      do {\n        found_debug = 0;\n        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);\n        pbVar14 = link_info.output_bfd;\n        if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }\n        plVar23 = (plVar23->wild_statement).children.head;\n      } while (plVar23 != (lang_statement_union *)0x0);\n    }" { (expression_statement "plVar23 = file_chain.head;" (assignment_expression "plVar23 = file_chain.head" identifier = (field_expression "file_chain.head" identifier . field_identifier)) ;) (do_statement "do {\n        found_debug = 0;\n        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);\n        pbVar14 = link_info.output_bfd;\n        if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }\n        plVar23 = (plVar23->wild_statement).children.head;\n      } while (plVar23 != (lang_statement_union *)0x0);" do (compound_statement "{\n        found_debug = 0;\n        bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);\n        pbVar14 = link_info.output_bfd;\n        if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }\n        plVar23 = (plVar23->wild_statement).children.head;\n      }" { (expression_statement "found_debug = 0;" (assignment_expression "found_debug = 0" identifier = number_literal) ;) (expression_statement "bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug);" (call_expression "bfd_map_over_sections((plVar23->wild_statement).section_list,debug_section_p,&found_debug)" identifier (argument_list "((plVar23->wild_statement).section_list,debug_section_p,&found_debug)" ( (field_expression "(plVar23->wild_statement).section_list" (parenthesized_expression "(plVar23->wild_statement)" ( (field_expression "plVar23->wild_statement" identifier -> field_identifier) )) . field_identifier) , identifier , (pointer_expression "&found_debug" & identifier) ))) ;) (expression_statement "pbVar14 = link_info.output_bfd;" (assignment_expression "pbVar14 = link_info.output_bfd" identifier = (field_expression "link_info.output_bfd" identifier . field_identifier)) ;) (if_statement "if (found_debug != 0) {\n          pep_use_coff_long_section_names = 1;\n          break;\n        }" if (parenthesized_expression "(found_debug != 0)" ( (binary_expression "found_debug != 0" identifier != number_literal) )) (compound_statement "{\n          pep_use_coff_long_section_names = 1;\n          break;\n        }" { (expression_statement "pep_use_coff_long_section_names = 1;" (assignment_expression "pep_use_coff_long_section_names = 1" identifier = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "plVar23 = (plVar23->wild_statement).children.head;" (assignment_expression "plVar23 = (plVar23->wild_statement).children.head" identifier = (field_expression "(plVar23->wild_statement).children.head" (field_expression "(plVar23->wild_statement).children" (parenthesized_expression "(plVar23->wild_statement)" ( (field_expression "plVar23->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) }) while (parenthesized_expression "(plVar23 != (lang_statement_union *)0x0)" ( (binary_expression "plVar23 != (lang_statement_union *)0x0" identifier != (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })))) })) (expression_statement "pep_output_file_set_long_section_names(pbVar14);" (call_expression "pep_output_file_set_long_section_names(pbVar14)" identifier (argument_list "(pbVar14)" ( identifier ))) ;) (expression_statement "pep_process_import_defs(link_info.output_bfd,&link_info);" (call_expression "pep_process_import_defs(link_info.output_bfd,&link_info)" identifier (argument_list "(link_info.output_bfd,&link_info)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) , (pointer_expression "&link_info" & identifier) ))) ;) (if_statement "if (link_info.pei386_auto_import != 0) {\n    iVar20 = is_underscoring();\n    pcVar18 = "_head_";\n    if (iVar20 != 0) {\n      pcVar18 = "__head_";\n    }\n    pep_find_data_imports(pcVar18,make_import_fixup);\n  }" if (parenthesized_expression "(link_info.pei386_auto_import != 0)" ( (binary_expression "link_info.pei386_auto_import != 0" (field_expression "link_info.pei386_auto_import" identifier . field_identifier) != number_literal) )) (compound_statement "{\n    iVar20 = is_underscoring();\n    pcVar18 = "_head_";\n    if (iVar20 != 0) {\n      pcVar18 = "__head_";\n    }\n    pep_find_data_imports(pcVar18,make_import_fixup);\n  }" { (expression_statement "iVar20 = is_underscoring();" (assignment_expression "iVar20 = is_underscoring()" identifier = (call_expression "is_underscoring()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar18 = "_head_";" (assignment_expression "pcVar18 = "_head_"" identifier = (string_literal ""_head_"" " string_content ")) ;) (if_statement "if (iVar20 != 0) {\n      pcVar18 = "__head_";\n    }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar18 = "__head_";\n    }" { (expression_statement "pcVar18 = "__head_";" (assignment_expression "pcVar18 = "__head_"" identifier = (string_literal ""__head_"" " string_content ")) ;) })) (expression_statement "pep_find_data_imports(pcVar18,make_import_fixup);" (call_expression "pep_find_data_imports(pcVar18,make_import_fixup)" identifier (argument_list "(pcVar18,make_import_fixup)" ( identifier , identifier ))) ;) })) (if_statement "if (pep_enable_stdcall_fixup != 0) {\n    if (pep_dll_extra_pe_debug != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      if (pbVar7->field_0xc != '\x01') goto LAB_00053dd0;\n      pcVar18 = (pbVar7->root).string;\n      if (*pcVar18 == '@') {\n        pcVar18 = (char *)xstrdup(pcVar18);\n        *pcVar18 = '_';\nLAB_00053f0f:\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          *pcVar17 = '\0';\n        }\n        iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1);\n        if ((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')) {\n          pcVar17 = *(char **)(iVar20 + 0x18);\n          uVar8 = *(undefined4 *)(iVar20 + 0x1c);\n          pbVar7->field_0xc = 3;\n          pbVar14 = *(bfd **)(iVar20 + 0x14);\n          bVar34 = pep_enable_stdcall_fixup == -1;\n          (pbVar7->u).i.warning = pcVar17;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }\n        pep_undef_found_sym = (bfd_link_hash_entry *)0x0;\n        bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);\n        pbVar10 = pep_undef_found_sym;\n        if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }" if (parenthesized_expression "(pep_enable_stdcall_fixup != 0)" ( (binary_expression "pep_enable_stdcall_fixup != 0" identifier != number_literal) )) (compound_statement "{\n    if (pep_dll_extra_pe_debug != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      if (pbVar7->field_0xc != '\x01') goto LAB_00053dd0;\n      pcVar18 = (pbVar7->root).string;\n      if (*pcVar18 == '@') {\n        pcVar18 = (char *)xstrdup(pcVar18);\n        *pcVar18 = '_';\nLAB_00053f0f:\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          *pcVar17 = '\0';\n        }\n        iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1);\n        if ((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')) {\n          pcVar17 = *(char **)(iVar20 + 0x18);\n          uVar8 = *(undefined4 *)(iVar20 + 0x1c);\n          pbVar7->field_0xc = 3;\n          pbVar14 = *(bfd **)(iVar20 + 0x14);\n          bVar34 = pep_enable_stdcall_fixup == -1;\n          (pbVar7->u).i.warning = pcVar17;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }\n        pep_undef_found_sym = (bfd_link_hash_entry *)0x0;\n        bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);\n        pbVar10 = pep_undef_found_sym;\n        if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }" { (if_statement "if (pep_dll_extra_pe_debug != 0) {\n      puts("pep_fixup_stdcalls");\n    }" if (parenthesized_expression "(pep_dll_extra_pe_debug != 0)" ( (binary_expression "pep_dll_extra_pe_debug != 0" identifier != number_literal) )) (compound_statement "{\n      puts("pep_fixup_stdcalls");\n    }" { (expression_statement "puts("pep_fixup_stdcalls");" (call_expression "puts("pep_fixup_stdcalls")" identifier (argument_list "("pep_fixup_stdcalls")" ( (string_literal ""pep_fixup_stdcalls"" " string_content ") ))) ;) })) (for_statement "for (pbVar7 = (link_info.hash)->undefs; pbVar7 != (bfd_link_hash_entry *)0x0;\n        pbVar7 = (pbVar7->u).undef.next) {\n      if (pbVar7->field_0xc != '\x01') goto LAB_00053dd0;\n      pcVar18 = (pbVar7->root).string;\n      if (*pcVar18 == '@') {\n        pcVar18 = (char *)xstrdup(pcVar18);\n        *pcVar18 = '_';\nLAB_00053f0f:\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          *pcVar17 = '\0';\n        }\n        iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1);\n        if ((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')) {\n          pcVar17 = *(char **)(iVar20 + 0x18);\n          uVar8 = *(undefined4 *)(iVar20 + 0x1c);\n          pbVar7->field_0xc = 3;\n          pbVar14 = *(bfd **)(iVar20 + 0x14);\n          bVar34 = pep_enable_stdcall_fixup == -1;\n          (pbVar7->u).i.warning = pcVar17;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }\n        pep_undef_found_sym = (bfd_link_hash_entry *)0x0;\n        bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);\n        pbVar10 = pep_undef_found_sym;\n        if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }\n      }\nLAB_00053dd0:\n    }" for ( (assignment_expression "pbVar7 = (link_info.hash)->undefs" identifier = (field_expression "(link_info.hash)->undefs" (parenthesized_expression "(link_info.hash)" ( (field_expression "link_info.hash" identifier . field_identifier) )) -> field_identifier)) ; (binary_expression "pbVar7 != (bfd_link_hash_entry *)0x0" identifier != (cast_expression "(bfd_link_hash_entry *)0x0" ( (type_descriptor "bfd_link_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pbVar7 = (pbVar7->u).undef.next" identifier = (field_expression "(pbVar7->u).undef.next" (field_expression "(pbVar7->u).undef" (parenthesized_expression "(pbVar7->u)" ( (field_expression "pbVar7->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ) (compound_statement "{\n      if (pbVar7->field_0xc != '\x01') goto LAB_00053dd0;\n      pcVar18 = (pbVar7->root).string;\n      if (*pcVar18 == '@') {\n        pcVar18 = (char *)xstrdup(pcVar18);\n        *pcVar18 = '_';\nLAB_00053f0f:\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          *pcVar17 = '\0';\n        }\n        iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1);\n        if ((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')) {\n          pcVar17 = *(char **)(iVar20 + 0x18);\n          uVar8 = *(undefined4 *)(iVar20 + 0x1c);\n          pbVar7->field_0xc = 3;\n          pbVar14 = *(bfd **)(iVar20 + 0x14);\n          bVar34 = pep_enable_stdcall_fixup == -1;\n          (pbVar7->u).i.warning = pcVar17;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }\n        pep_undef_found_sym = (bfd_link_hash_entry *)0x0;\n        bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);\n        pbVar10 = pep_undef_found_sym;\n        if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }\n      }\nLAB_00053dd0:\n    }" { (if_statement "if (pbVar7->field_0xc != '\x01') goto LAB_00053dd0;" if (parenthesized_expression "(pbVar7->field_0xc != '\x01')" ( (binary_expression "pbVar7->field_0xc != '\x01'" (field_expression "pbVar7->field_0xc" identifier -> field_identifier) != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_00053dd0;" goto statement_identifier ;)) (expression_statement "pcVar18 = (pbVar7->root).string;" (assignment_expression "pcVar18 = (pbVar7->root).string" identifier = (field_expression "(pbVar7->root).string" (parenthesized_expression "(pbVar7->root)" ( (field_expression "pbVar7->root" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (*pcVar18 == '@') {\n        pcVar18 = (char *)xstrdup(pcVar18);\n        *pcVar18 = '_';\nLAB_00053f0f:\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          *pcVar17 = '\0';\n        }\n        iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1);\n        if ((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')) {\n          pcVar17 = *(char **)(iVar20 + 0x18);\n          uVar8 = *(undefined4 *)(iVar20 + 0x1c);\n          pbVar7->field_0xc = 3;\n          pbVar14 = *(bfd **)(iVar20 + 0x14);\n          bVar34 = pep_enable_stdcall_fixup == -1;\n          (pbVar7->u).i.warning = pcVar17;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }\n        pep_undef_found_sym = (bfd_link_hash_entry *)0x0;\n        bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);\n        pbVar10 = pep_undef_found_sym;\n        if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }\n      }" if (parenthesized_expression "(*pcVar18 == '@')" ( (binary_expression "*pcVar18 == '@'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'@'" ' character ')) )) (compound_statement "{\n        pcVar18 = (char *)xstrdup(pcVar18);\n        *pcVar18 = '_';\nLAB_00053f0f:\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          *pcVar17 = '\0';\n        }\n        iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1);\n        if ((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')) {\n          pcVar17 = *(char **)(iVar20 + 0x18);\n          uVar8 = *(undefined4 *)(iVar20 + 0x1c);\n          pbVar7->field_0xc = 3;\n          pbVar14 = *(bfd **)(iVar20 + 0x14);\n          bVar34 = pep_enable_stdcall_fixup == -1;\n          (pbVar7->u).i.warning = pcVar17;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }" { (expression_statement "pcVar18 = (char *)xstrdup(pcVar18);" (assignment_expression "pcVar18 = (char *)xstrdup(pcVar18)" identifier = (cast_expression "(char *)xstrdup(pcVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))))) ;) (expression_statement "*pcVar18 = '_';" (assignment_expression "*pcVar18 = '_'" (pointer_expression "*pcVar18" * identifier) = (char_literal "'_'" ' character ')) ;) (labeled_statement "LAB_00053f0f:\n        pcVar17 = strchr(pcVar18,0x40);" statement_identifier : (expression_statement "pcVar17 = strchr(pcVar18,0x40);" (assignment_expression "pcVar17 = strchr(pcVar18,0x40)" identifier = (call_expression "strchr(pcVar18,0x40)" identifier (argument_list "(pcVar18,0x40)" ( identifier , number_literal )))) ;)) (if_statement "if (pcVar17 != (char *)0x0) {\n          *pcVar17 = '\0';\n        }" if (parenthesized_expression "(pcVar17 != (char *)0x0)" ( (binary_expression "pcVar17 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *pcVar17 = '\0';\n        }" { (expression_statement "*pcVar17 = '\0';" (assignment_expression "*pcVar17 = '\0'" (pointer_expression "*pcVar17" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1);" (assignment_expression "iVar20 = bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1)" identifier = (call_expression "bfd_link_hash_lookup(link_info.hash,pcVar18,0,0,1)" identifier (argument_list "(link_info.hash,pcVar18,0,0,1)" ( (field_expression "link_info.hash" identifier . field_identifier) , identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if ((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')) {\n          pcVar17 = *(char **)(iVar20 + 0x18);\n          uVar8 = *(undefined4 *)(iVar20 + 0x1c);\n          pbVar7->field_0xc = 3;\n          pbVar14 = *(bfd **)(iVar20 + 0x14);\n          bVar34 = pep_enable_stdcall_fixup == -1;\n          (pbVar7->u).i.warning = pcVar17;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }" if (parenthesized_expression "((iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03'))" ( (binary_expression "(iVar20 != 0) && (*(char *)(iVar20 + 0xc) == '\x03')" (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(char *)(iVar20 + 0xc) == '\x03')" ( (binary_expression "*(char *)(iVar20 + 0xc) == '\x03'" (pointer_expression "*(char *)(iVar20 + 0xc)" * (cast_expression "(char *)(iVar20 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) )))) == (char_literal "'\x03'" ' escape_sequence ')) ))) )) (compound_statement "{\n          pcVar17 = *(char **)(iVar20 + 0x18);\n          uVar8 = *(undefined4 *)(iVar20 + 0x1c);\n          pbVar7->field_0xc = 3;\n          pbVar14 = *(bfd **)(iVar20 + 0x14);\n          bVar34 = pep_enable_stdcall_fixup == -1;\n          (pbVar7->u).i.warning = pcVar17;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }" { (expression_statement "pcVar17 = *(char **)(iVar20 + 0x18);" (assignment_expression "pcVar17 = *(char **)(iVar20 + 0x18)" identifier = (pointer_expression "*(char **)(iVar20 + 0x18)" * (cast_expression "(char **)(iVar20 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar20 + 0x18)" ( (binary_expression "iVar20 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined4 *)(iVar20 + 0x1c);" (assignment_expression "uVar8 = *(undefined4 *)(iVar20 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(iVar20 + 0x1c)" * (cast_expression "(undefined4 *)(iVar20 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pbVar7->field_0xc = 3;" (assignment_expression "pbVar7->field_0xc = 3" (field_expression "pbVar7->field_0xc" identifier -> field_identifier) = number_literal) ;) (expression_statement "pbVar14 = *(bfd **)(iVar20 + 0x14);" (assignment_expression "pbVar14 = *(bfd **)(iVar20 + 0x14)" identifier = (pointer_expression "*(bfd **)(iVar20 + 0x14)" * (cast_expression "(bfd **)(iVar20 + 0x14)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar20 + 0x14)" ( (binary_expression "iVar20 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "bVar34 = pep_enable_stdcall_fixup == -1;" (assignment_expression "bVar34 = pep_enable_stdcall_fixup == -1" identifier = (binary_expression "pep_enable_stdcall_fixup == -1" identifier == number_literal)) ;) (expression_statement "(pbVar7->u).i.warning = pcVar17;" (assignment_expression "(pbVar7->u).i.warning = pcVar17" (field_expression "(pbVar7->u).i.warning" (field_expression "(pbVar7->u).i" (parenthesized_expression "(pbVar7->u)" ( (field_expression "pbVar7->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)&pbVar7->u + 0xc)" * (cast_expression "(undefined4 *)((int)&pbVar7->u + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar7->u + 0xc)" ( (binary_expression "(int)&pbVar7->u + 0xc" (cast_expression "(int)&pbVar7->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar7->u" & (field_expression "pbVar7->u" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "(pbVar7->u).undef.abfd = pbVar14;" (assignment_expression "(pbVar7->u).undef.abfd = pbVar14" (field_expression "(pbVar7->u).undef.abfd" (field_expression "(pbVar7->u).undef" (parenthesized_expression "(pbVar7->u)" ( (field_expression "pbVar7->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (bVar34) {\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n            pcVar17 = (pbVar7->root).string;\n            fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }" { (expression_statement "pcVar17 = (pbVar7->root).string;" (assignment_expression "pcVar17 = (pbVar7->root).string" identifier = (field_expression "(pbVar7->root).string" (parenthesized_expression "(pbVar7->root)" ( (field_expression "pbVar7->root" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);" (assignment_expression "fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier (argument_list "(0,"warning: resolving %s by linking to %s\n",5)" ( number_literal , (string_literal ""warning: resolving %s by linking to %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (goto_statement "goto LAB_00053e6d;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }\n        pep_undef_found_sym = (bfd_link_hash_entry *)0x0;\n        bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);\n        pbVar10 = pep_undef_found_sym;\n        if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }\n      }" else (compound_statement "{\n        pcVar17 = strchr(pcVar18,0x40);\n        if (pcVar17 != (char *)0x0) {\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }\n        pep_undef_found_sym = (bfd_link_hash_entry *)0x0;\n        bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);\n        pbVar10 = pep_undef_found_sym;\n        if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }\n      }" { (expression_statement "pcVar17 = strchr(pcVar18,0x40);" (assignment_expression "pcVar17 = strchr(pcVar18,0x40)" identifier = (call_expression "strchr(pcVar18,0x40)" identifier (argument_list "(pcVar18,0x40)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar17 != (char *)0x0) {\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }" if (parenthesized_expression "(pcVar17 != (char *)0x0)" ( (binary_expression "pcVar17 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar18 = (char *)xstrdup(pcVar18);\n          goto LAB_00053f0f;\n        }" { (expression_statement "pcVar18 = (char *)xstrdup(pcVar18);" (assignment_expression "pcVar18 = (char *)xstrdup(pcVar18)" identifier = (cast_expression "(char *)xstrdup(pcVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))))) ;) (goto_statement "goto LAB_00053f0f;" goto statement_identifier ;) })) (expression_statement "pep_undef_found_sym = (bfd_link_hash_entry *)0x0;" (assignment_expression "pep_undef_found_sym = (bfd_link_hash_entry *)0x0" identifier = (cast_expression "(bfd_link_hash_entry *)0x0" ( (type_descriptor "bfd_link_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18);" (call_expression "bfd_link_hash_traverse(link_info.hash,pep_undef_cdecl_match,pcVar18)" identifier (argument_list "(link_info.hash,pep_undef_cdecl_match,pcVar18)" ( (field_expression "link_info.hash" identifier . field_identifier) , identifier , identifier ))) ;) (expression_statement "pbVar10 = pep_undef_found_sym;" (assignment_expression "pbVar10 = pep_undef_found_sym" identifier = identifier) ;) (if_statement "if (pep_undef_found_sym != (bfd_link_hash_entry *)0x0) {\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }" if (parenthesized_expression "(pep_undef_found_sym != (bfd_link_hash_entry *)0x0)" ( (binary_expression "pep_undef_found_sym != (bfd_link_hash_entry *)0x0" identifier != (cast_expression "(bfd_link_hash_entry *)0x0" ( (type_descriptor "bfd_link_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar18 = (pep_undef_found_sym->u).i.warning;\n          uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);\n          pbVar7->field_0xc = 3;\n          bVar34 = pep_enable_stdcall_fixup != -1;\n          (pbVar7->u).i.warning = pcVar18;\n          pbVar14 = (pbVar10->u).undef.abfd;\n          *(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;\n          (pbVar7->u).undef.abfd = pbVar14;\n          if (bVar34) goto LAB_00053dd0;\n          pcVar18 = (pbVar10->root).string;\n          pcVar17 = (pbVar7->root).string;\n          fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);\n          if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }\n        }" { (expression_statement "pcVar18 = (pep_undef_found_sym->u).i.warning;" (assignment_expression "pcVar18 = (pep_undef_found_sym->u).i.warning" identifier = (field_expression "(pep_undef_found_sym->u).i.warning" (field_expression "(pep_undef_found_sym->u).i" (parenthesized_expression "(pep_undef_found_sym->u)" ( (field_expression "pep_undef_found_sym->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc);" (assignment_expression "uVar8 = *(undefined4 *)((int)&pep_undef_found_sym->u + 0xc)" identifier = (pointer_expression "*(undefined4 *)((int)&pep_undef_found_sym->u + 0xc)" * (cast_expression "(undefined4 *)((int)&pep_undef_found_sym->u + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pep_undef_found_sym->u + 0xc)" ( (binary_expression "(int)&pep_undef_found_sym->u + 0xc" (cast_expression "(int)&pep_undef_found_sym->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pep_undef_found_sym->u" & (field_expression "pep_undef_found_sym->u" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pbVar7->field_0xc = 3;" (assignment_expression "pbVar7->field_0xc = 3" (field_expression "pbVar7->field_0xc" identifier -> field_identifier) = number_literal) ;) (expression_statement "bVar34 = pep_enable_stdcall_fixup != -1;" (assignment_expression "bVar34 = pep_enable_stdcall_fixup != -1" identifier = (binary_expression "pep_enable_stdcall_fixup != -1" identifier != number_literal)) ;) (expression_statement "(pbVar7->u).i.warning = pcVar18;" (assignment_expression "(pbVar7->u).i.warning = pcVar18" (field_expression "(pbVar7->u).i.warning" (field_expression "(pbVar7->u).i" (parenthesized_expression "(pbVar7->u)" ( (field_expression "pbVar7->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "pbVar14 = (pbVar10->u).undef.abfd;" (assignment_expression "pbVar14 = (pbVar10->u).undef.abfd" identifier = (field_expression "(pbVar10->u).undef.abfd" (field_expression "(pbVar10->u).undef" (parenthesized_expression "(pbVar10->u)" ( (field_expression "pbVar10->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)&pbVar7->u + 0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)&pbVar7->u + 0xc)" * (cast_expression "(undefined4 *)((int)&pbVar7->u + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar7->u + 0xc)" ( (binary_expression "(int)&pbVar7->u + 0xc" (cast_expression "(int)&pbVar7->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar7->u" & (field_expression "pbVar7->u" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "(pbVar7->u).undef.abfd = pbVar14;" (assignment_expression "(pbVar7->u).undef.abfd = pbVar14" (field_expression "(pbVar7->u).undef.abfd" (field_expression "(pbVar7->u).undef" (parenthesized_expression "(pbVar7->u)" ( (field_expression "pbVar7->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (bVar34) goto LAB_00053dd0;" if (parenthesized_expression "(bVar34)" ( identifier )) (goto_statement "goto LAB_00053dd0;" goto statement_identifier ;)) (expression_statement "pcVar18 = (pbVar10->root).string;" (assignment_expression "pcVar18 = (pbVar10->root).string" identifier = (field_expression "(pbVar10->root).string" (parenthesized_expression "(pbVar10->root)" ( (field_expression "pbVar10->root" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar17 = (pbVar7->root).string;" (assignment_expression "pcVar17 = (pbVar7->root).string" identifier = (field_expression "(pbVar7->root).string" (parenthesized_expression "(pbVar7->root)" ( (field_expression "pbVar7->root" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5);" (assignment_expression "fmt = (char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"warning: resolving %s by linking to %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier (argument_list "(0,"warning: resolving %s by linking to %s\n",5)" ( number_literal , (string_literal ""warning: resolving %s by linking to %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (labeled_statement "LAB_00053e6d:\n          einfo(fmt,pcVar17,pcVar18);" statement_identifier : (expression_statement "einfo(fmt,pcVar17,pcVar18);" (call_expression "einfo(fmt,pcVar17,pcVar18)" identifier (argument_list "(fmt,pcVar17,pcVar18)" ( identifier , identifier , identifier ))) ;)) (if_statement "if (gave_warning_message_12556 == 0) {\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }" if (parenthesized_expression "(gave_warning_message_12556 == 0)" ( (binary_expression "gave_warning_message_12556 == 0" identifier == number_literal) )) (compound_statement "{\n            gave_warning_message_12556 = 1;\n            pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );\n            einfo(pcVar18);\n            pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;\n            einfo(pcVar18);\n          }" { (expression_statement "gave_warning_message_12556 = 1;" (assignment_expression "gave_warning_message_12556 = 1" identifier = number_literal) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       );" (assignment_expression "pcVar18 = (char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       )" identifier = (cast_expression "(char *)dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       )" identifier (argument_list "(0,"Use --enable-stdcall-fixup to disable these warnings\n",5\n                                       )" ( number_literal , (string_literal ""Use --enable-stdcall-fixup to disable these warnings\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar18);" (call_expression "einfo(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)\n            ;" (assignment_expression "pcVar18 = (char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" identifier (argument_list "(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" ( number_literal , (string_literal ""Use --disable-stdcall-fixup to disable these fixups\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar18);" (call_expression "einfo(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) })) })) }))) (labeled_statement "LAB_00053dd0:" statement_identifier : (expression_statement "" ;)) })) })) (if_statement "if ((link_info._0_1_ & 3) != 2) {\n    pep_dll_build_sections(link_info.output_bfd,&link_info);\n  }" if (parenthesized_expression "((link_info._0_1_ & 3) != 2)" ( (binary_expression "(link_info._0_1_ & 3) != 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    pep_dll_build_sections(link_info.output_bfd,&link_info);\n  }" { (expression_statement "pep_dll_build_sections(link_info.output_bfd,&link_info);" (call_expression "pep_dll_build_sections(link_info.output_bfd,&link_info)" identifier (argument_list "(link_info.output_bfd,&link_info)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) , (pointer_expression "&link_info" & identifier) ))) ;) })) (expression_statement "local_40 = file_chain.head;" (assignment_expression "local_40 = file_chain.head" identifier = (field_expression "file_chain.head" identifier . field_identifier)) ;) (if_statement "if (file_chain.head != (lang_statement_union *)0x0) {\n    do {\n      pbVar14 = (local_40->input_statement).the_bfd;\n      if ((pbVar14->my_archive != (bfd *)0x0) &&\n         (local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0)) {\n        iVar20 = 0;\n        bVar33 = true;\n        pbVar19 = local_38;\n        bVar9 = 0;\n        bVar34 = false;\n        do {\n          bVar31 = false;\n          iVar21 = 9;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$2";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar32 = false;\n          bVar33 = (!bVar31 && !bVar33) == bVar31;\n          bVar31 = true;\n          if (!bVar33) {\n            bVar31 = bVar34;\n          }\n          iVar21 = 7;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar11 = 1;\n          if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }\n          iVar20 = iVar20 + pbVar19->reloc_count;\n          pbVar19 = pbVar19->next;\n          bVar33 = pbVar19 == (bfd_section *)0x0;\n          bVar9 = bVar11;\n          bVar34 = bVar31;\n        } while (!bVar33);\n        if (((bool)(bVar11 & iVar20 != 0)) && (!bVar31)) {\n          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }\n        }\n      }\n      local_40 = (local_40->wild_statement).children.head;\n    } while (local_40 != (lang_statement_union *)0x0);\n    local_50 = file_chain.head;\n    if (file_chain.head != (lang_statement_union *)0x0) {\n      bVar34 = false;\n      uVar28 = 0;\n      do {\n        uVar6 = ((local_50->reloc_statement).section)->lineno_count;\n        if (uVar6 != 0) {\n          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          plVar23 = local_50;\n          if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }\n          bVar34 = true;\n          iVar20 = filename_cmp(pcVar18,".dll");\n          uVar28 = uVar6;\n          if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }\n        }\nLAB_00053a60:\n        local_50 = (local_50->wild_statement).children.head;\n      } while (local_50 != (lang_statement_union *)0x0);\n    }\n  }" if (parenthesized_expression "(file_chain.head != (lang_statement_union *)0x0)" ( (binary_expression "file_chain.head != (lang_statement_union *)0x0" (field_expression "file_chain.head" identifier . field_identifier) != (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      pbVar14 = (local_40->input_statement).the_bfd;\n      if ((pbVar14->my_archive != (bfd *)0x0) &&\n         (local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0)) {\n        iVar20 = 0;\n        bVar33 = true;\n        pbVar19 = local_38;\n        bVar9 = 0;\n        bVar34 = false;\n        do {\n          bVar31 = false;\n          iVar21 = 9;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$2";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar32 = false;\n          bVar33 = (!bVar31 && !bVar33) == bVar31;\n          bVar31 = true;\n          if (!bVar33) {\n            bVar31 = bVar34;\n          }\n          iVar21 = 7;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar11 = 1;\n          if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }\n          iVar20 = iVar20 + pbVar19->reloc_count;\n          pbVar19 = pbVar19->next;\n          bVar33 = pbVar19 == (bfd_section *)0x0;\n          bVar9 = bVar11;\n          bVar34 = bVar31;\n        } while (!bVar33);\n        if (((bool)(bVar11 & iVar20 != 0)) && (!bVar31)) {\n          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }\n        }\n      }\n      local_40 = (local_40->wild_statement).children.head;\n    } while (local_40 != (lang_statement_union *)0x0);\n    local_50 = file_chain.head;\n    if (file_chain.head != (lang_statement_union *)0x0) {\n      bVar34 = false;\n      uVar28 = 0;\n      do {\n        uVar6 = ((local_50->reloc_statement).section)->lineno_count;\n        if (uVar6 != 0) {\n          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          plVar23 = local_50;\n          if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }\n          bVar34 = true;\n          iVar20 = filename_cmp(pcVar18,".dll");\n          uVar28 = uVar6;\n          if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }\n        }\nLAB_00053a60:\n        local_50 = (local_50->wild_statement).children.head;\n      } while (local_50 != (lang_statement_union *)0x0);\n    }\n  }" { (do_statement "do {\n      pbVar14 = (local_40->input_statement).the_bfd;\n      if ((pbVar14->my_archive != (bfd *)0x0) &&\n         (local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0)) {\n        iVar20 = 0;\n        bVar33 = true;\n        pbVar19 = local_38;\n        bVar9 = 0;\n        bVar34 = false;\n        do {\n          bVar31 = false;\n          iVar21 = 9;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$2";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar32 = false;\n          bVar33 = (!bVar31 && !bVar33) == bVar31;\n          bVar31 = true;\n          if (!bVar33) {\n            bVar31 = bVar34;\n          }\n          iVar21 = 7;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar11 = 1;\n          if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }\n          iVar20 = iVar20 + pbVar19->reloc_count;\n          pbVar19 = pbVar19->next;\n          bVar33 = pbVar19 == (bfd_section *)0x0;\n          bVar9 = bVar11;\n          bVar34 = bVar31;\n        } while (!bVar33);\n        if (((bool)(bVar11 & iVar20 != 0)) && (!bVar31)) {\n          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }\n        }\n      }\n      local_40 = (local_40->wild_statement).children.head;\n    } while (local_40 != (lang_statement_union *)0x0);" do (compound_statement "{\n      pbVar14 = (local_40->input_statement).the_bfd;\n      if ((pbVar14->my_archive != (bfd *)0x0) &&\n         (local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0)) {\n        iVar20 = 0;\n        bVar33 = true;\n        pbVar19 = local_38;\n        bVar9 = 0;\n        bVar34 = false;\n        do {\n          bVar31 = false;\n          iVar21 = 9;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$2";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar32 = false;\n          bVar33 = (!bVar31 && !bVar33) == bVar31;\n          bVar31 = true;\n          if (!bVar33) {\n            bVar31 = bVar34;\n          }\n          iVar21 = 7;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar11 = 1;\n          if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }\n          iVar20 = iVar20 + pbVar19->reloc_count;\n          pbVar19 = pbVar19->next;\n          bVar33 = pbVar19 == (bfd_section *)0x0;\n          bVar9 = bVar11;\n          bVar34 = bVar31;\n        } while (!bVar33);\n        if (((bool)(bVar11 & iVar20 != 0)) && (!bVar31)) {\n          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }\n        }\n      }\n      local_40 = (local_40->wild_statement).children.head;\n    }" { (expression_statement "pbVar14 = (local_40->input_statement).the_bfd;" (assignment_expression "pbVar14 = (local_40->input_statement).the_bfd" identifier = (field_expression "(local_40->input_statement).the_bfd" (parenthesized_expression "(local_40->input_statement)" ( (field_expression "local_40->input_statement" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((pbVar14->my_archive != (bfd *)0x0) &&\n         (local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0)) {\n        iVar20 = 0;\n        bVar33 = true;\n        pbVar19 = local_38;\n        bVar9 = 0;\n        bVar34 = false;\n        do {\n          bVar31 = false;\n          iVar21 = 9;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$2";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar32 = false;\n          bVar33 = (!bVar31 && !bVar33) == bVar31;\n          bVar31 = true;\n          if (!bVar33) {\n            bVar31 = bVar34;\n          }\n          iVar21 = 7;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar11 = 1;\n          if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }\n          iVar20 = iVar20 + pbVar19->reloc_count;\n          pbVar19 = pbVar19->next;\n          bVar33 = pbVar19 == (bfd_section *)0x0;\n          bVar9 = bVar11;\n          bVar34 = bVar31;\n        } while (!bVar33);\n        if (((bool)(bVar11 & iVar20 != 0)) && (!bVar31)) {\n          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }\n        }\n      }" if (parenthesized_expression "((pbVar14->my_archive != (bfd *)0x0) &&\n         (local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0))" ( (binary_expression "(pbVar14->my_archive != (bfd *)0x0) &&\n         (local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0)" (parenthesized_expression "(pbVar14->my_archive != (bfd *)0x0)" ( (binary_expression "pbVar14->my_archive != (bfd *)0x0" (field_expression "pbVar14->my_archive" identifier -> field_identifier) != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0)" ( (comma_expression "local_38 = pbVar14->sections, local_38 != (bfd_section *)0x0" (assignment_expression "local_38 = pbVar14->sections" identifier = (field_expression "pbVar14->sections" identifier -> field_identifier)) , (binary_expression "local_38 != (bfd_section *)0x0" identifier != (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        iVar20 = 0;\n        bVar33 = true;\n        pbVar19 = local_38;\n        bVar9 = 0;\n        bVar34 = false;\n        do {\n          bVar31 = false;\n          iVar21 = 9;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$2";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar32 = false;\n          bVar33 = (!bVar31 && !bVar33) == bVar31;\n          bVar31 = true;\n          if (!bVar33) {\n            bVar31 = bVar34;\n          }\n          iVar21 = 7;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar11 = 1;\n          if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }\n          iVar20 = iVar20 + pbVar19->reloc_count;\n          pbVar19 = pbVar19->next;\n          bVar33 = pbVar19 == (bfd_section *)0x0;\n          bVar9 = bVar11;\n          bVar34 = bVar31;\n        } while (!bVar33);\n        if (((bool)(bVar11 & iVar20 != 0)) && (!bVar31)) {\n          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }\n        }\n      }" { (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "bVar33 = true;" (assignment_expression "bVar33 = true" identifier = true) ;) (expression_statement "pbVar19 = local_38;" (assignment_expression "pbVar19 = local_38" identifier = identifier) ;) (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" identifier = number_literal) ;) (expression_statement "bVar34 = false;" (assignment_expression "bVar34 = false" identifier = false) ;) (do_statement "do {\n          bVar31 = false;\n          iVar21 = 9;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$2";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar32 = false;\n          bVar33 = (!bVar31 && !bVar33) == bVar31;\n          bVar31 = true;\n          if (!bVar33) {\n            bVar31 = bVar34;\n          }\n          iVar21 = 7;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar11 = 1;\n          if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }\n          iVar20 = iVar20 + pbVar19->reloc_count;\n          pbVar19 = pbVar19->next;\n          bVar33 = pbVar19 == (bfd_section *)0x0;\n          bVar9 = bVar11;\n          bVar34 = bVar31;\n        } while (!bVar33);" do (compound_statement "{\n          bVar31 = false;\n          iVar21 = 9;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$2";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar32 = false;\n          bVar33 = (!bVar31 && !bVar33) == bVar31;\n          bVar31 = true;\n          if (!bVar33) {\n            bVar31 = bVar34;\n          }\n          iVar21 = 7;\n          pbVar26 = (byte *)pbVar19->name;\n          pbVar30 = (byte *)".idata$";\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);\n          bVar11 = 1;\n          if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }\n          iVar20 = iVar20 + pbVar19->reloc_count;\n          pbVar19 = pbVar19->next;\n          bVar33 = pbVar19 == (bfd_section *)0x0;\n          bVar9 = bVar11;\n          bVar34 = bVar31;\n        }" { (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (expression_statement "iVar21 = 9;" (assignment_expression "iVar21 = 9" identifier = number_literal) ;) (expression_statement "pbVar26 = (byte *)pbVar19->name;" (assignment_expression "pbVar26 = (byte *)pbVar19->name" identifier = (cast_expression "(byte *)pbVar19->name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pbVar19->name" identifier -> field_identifier))) ;) (expression_statement "pbVar30 = (byte *)".idata$2";" (assignment_expression "pbVar30 = (byte *)".idata$2"" identifier = (cast_expression "(byte *)".idata$2"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".idata$2"" " string_content "))) ;) (do_statement "do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);" do (compound_statement "{\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar31 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar26 < *pbVar30;" (assignment_expression "bVar31 = *pbVar26 < *pbVar30" identifier = (binary_expression "*pbVar26 < *pbVar30" (pointer_expression "*pbVar26" * identifier) < (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "bVar33 = *pbVar26 == *pbVar30;" (assignment_expression "bVar33 = *pbVar26 == *pbVar30" identifier = (binary_expression "*pbVar26 == *pbVar30" (pointer_expression "*pbVar26" * identifier) == (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar30 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar30 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar33)" ( identifier )) ;) (expression_statement "bVar32 = false;" (assignment_expression "bVar32 = false" identifier = false) ;) (expression_statement "bVar33 = (!bVar31 && !bVar33) == bVar31;" (assignment_expression "bVar33 = (!bVar31 && !bVar33) == bVar31" identifier = (binary_expression "(!bVar31 && !bVar33) == bVar31" (parenthesized_expression "(!bVar31 && !bVar33)" ( (binary_expression "!bVar31 && !bVar33" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar33" ! identifier)) )) == identifier)) ;) (expression_statement "bVar31 = true;" (assignment_expression "bVar31 = true" identifier = true) ;) (if_statement "if (!bVar33) {\n            bVar31 = bVar34;\n          }" if (parenthesized_expression "(!bVar33)" ( (unary_expression "!bVar33" ! identifier) )) (compound_statement "{\n            bVar31 = bVar34;\n          }" { (expression_statement "bVar31 = bVar34;" (assignment_expression "bVar31 = bVar34" identifier = identifier) ;) })) (expression_statement "iVar21 = 7;" (assignment_expression "iVar21 = 7" identifier = number_literal) ;) (expression_statement "pbVar26 = (byte *)pbVar19->name;" (assignment_expression "pbVar26 = (byte *)pbVar19->name" identifier = (cast_expression "(byte *)pbVar19->name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pbVar19->name" identifier -> field_identifier))) ;) (expression_statement "pbVar30 = (byte *)".idata$";" (assignment_expression "pbVar30 = (byte *)".idata$"" identifier = (cast_expression "(byte *)".idata$"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".idata$"" " string_content "))) ;) (do_statement "do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          } while (bVar33);" do (compound_statement "{\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar32 = *pbVar26 < *pbVar30;\n            bVar33 = *pbVar26 == *pbVar30;\n            pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n            pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n          }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar32 = *pbVar26 < *pbVar30;" (assignment_expression "bVar32 = *pbVar26 < *pbVar30" identifier = (binary_expression "*pbVar26 < *pbVar30" (pointer_expression "*pbVar26" * identifier) < (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "bVar33 = *pbVar26 == *pbVar30;" (assignment_expression "bVar33 = *pbVar26 == *pbVar30" identifier = (binary_expression "*pbVar26 == *pbVar30" (pointer_expression "*pbVar26" * identifier) == (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar30 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar30 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar33)" ( identifier )) ;) (expression_statement "bVar11 = 1;" (assignment_expression "bVar11 = 1" identifier = number_literal) ;) (if_statement "if ((!bVar32 && !bVar33) != bVar32) {\n            bVar11 = bVar9;\n          }" if (parenthesized_expression "((!bVar32 && !bVar33) != bVar32)" ( (binary_expression "(!bVar32 && !bVar33) != bVar32" (parenthesized_expression "(!bVar32 && !bVar33)" ( (binary_expression "!bVar32 && !bVar33" (unary_expression "!bVar32" ! identifier) && (unary_expression "!bVar33" ! identifier)) )) != identifier) )) (compound_statement "{\n            bVar11 = bVar9;\n          }" { (expression_statement "bVar11 = bVar9;" (assignment_expression "bVar11 = bVar9" identifier = identifier) ;) })) (expression_statement "iVar20 = iVar20 + pbVar19->reloc_count;" (assignment_expression "iVar20 = iVar20 + pbVar19->reloc_count" identifier = (binary_expression "iVar20 + pbVar19->reloc_count" identifier + (field_expression "pbVar19->reloc_count" identifier -> field_identifier))) ;) (expression_statement "pbVar19 = pbVar19->next;" (assignment_expression "pbVar19 = pbVar19->next" identifier = (field_expression "pbVar19->next" identifier -> field_identifier)) ;) (expression_statement "bVar33 = pbVar19 == (bfd_section *)0x0;" (assignment_expression "bVar33 = pbVar19 == (bfd_section *)0x0" identifier = (binary_expression "pbVar19 == (bfd_section *)0x0" identifier == (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar9 = bVar11;" (assignment_expression "bVar9 = bVar11" identifier = identifier) ;) (expression_statement "bVar34 = bVar31;" (assignment_expression "bVar34 = bVar31" identifier = identifier) ;) }) while (parenthesized_expression "(!bVar33)" ( (unary_expression "!bVar33" ! identifier) )) ;) (if_statement "if (((bool)(bVar11 & iVar20 != 0)) && (!bVar31)) {\n          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }\n        }" if (parenthesized_expression "(((bool)(bVar11 & iVar20 != 0)) && (!bVar31))" ( (binary_expression "((bool)(bVar11 & iVar20 != 0)) && (!bVar31)" (parenthesized_expression "((bool)(bVar11 & iVar20 != 0))" ( (cast_expression "(bool)(bVar11 & iVar20 != 0)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar11 & iVar20 != 0)" ( (binary_expression "bVar11 & iVar20 != 0" identifier & (binary_expression "iVar20 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(!bVar31)" ( (unary_expression "!bVar31" ! identifier) ))) )) (compound_statement "{\n          while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }\n        }" { (while_statement "while (iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20) {\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }" while (parenthesized_expression "(iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20)" ( (comma_expression "iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38), 0 < iVar20" (assignment_expression "iVar20 = bfd_get_reloc_upper_bound(pbVar14,local_38)" identifier = (call_expression "bfd_get_reloc_upper_bound(pbVar14,local_38)" identifier (argument_list "(pbVar14,local_38)" ( identifier , identifier )))) , (binary_expression "0 < iVar20" number_literal < identifier)) )) (compound_statement "{\n            iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);\n            if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }\n            ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;\n            __ptr = (undefined4 *)xmalloc(iVar20);\n            iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);\n            if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }\n            puVar25 = __ptr;\n            if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }\n            free(__ptr);\n            local_38 = local_38->next;\n            if (local_38 == (bfd_section *)0x0) break;\n            pbVar14 = (bfd *)(local_40->wild_statement).section_list;\n          }" { (expression_statement "iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list);" (assignment_expression "iVar21 = bfd_generic_link_read_symbols((local_40->wild_statement).section_list)" identifier = (call_expression "bfd_generic_link_read_symbols((local_40->wild_statement).section_list)" identifier (argument_list "((local_40->wild_statement).section_list)" ( (field_expression "(local_40->wild_statement).section_list" (parenthesized_expression "(local_40->wild_statement)" ( (field_expression "local_40->wild_statement" identifier -> field_identifier) )) . field_identifier) )))) ;) (if_statement "if (iVar21 == 0) {\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n              pwVar22 = (local_40->wild_statement).section_list;\n              pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              einfo(pcVar18,pwVar22);\n              return;\n            }" { (expression_statement "pwVar22 = (local_40->wild_statement).section_list;" (assignment_expression "pwVar22 = (local_40->wild_statement).section_list" identifier = (field_expression "(local_40->wild_statement).section_list" (parenthesized_expression "(local_40->wild_statement)" ( (field_expression "local_40->wild_statement" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5)" identifier (argument_list "(0,"%F%P: %pB: could not read symbols: %E\n",5)" ( number_literal , (string_literal ""%F%P: %pB: could not read symbols: %E\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar18,pwVar22);" (call_expression "einfo(pcVar18,pwVar22)" identifier (argument_list "(pcVar18,pwVar22)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols;" (assignment_expression "ppbVar4 = ((local_40->input_statement).the_bfd)->outsymbols" identifier = (field_expression "((local_40->input_statement).the_bfd)->outsymbols" (parenthesized_expression "((local_40->input_statement).the_bfd)" ( (field_expression "(local_40->input_statement).the_bfd" (parenthesized_expression "(local_40->input_statement)" ( (field_expression "local_40->input_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) ;) (expression_statement "__ptr = (undefined4 *)xmalloc(iVar20);" (assignment_expression "__ptr = (undefined4 *)xmalloc(iVar20)" identifier = (cast_expression "(undefined4 *)xmalloc(iVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(iVar20)" identifier (argument_list "(iVar20)" ( identifier ))))) ;) (expression_statement "iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4);" (assignment_expression "iVar20 = bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4)" identifier = (call_expression "bfd_canonicalize_reloc\n                               ((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4)" identifier (argument_list "((local_40->wild_statement).section_list,local_38,__ptr,ppbVar4)" ( (field_expression "(local_40->wild_statement).section_list" (parenthesized_expression "(local_40->wild_statement)" ( (field_expression "local_40->wild_statement" identifier -> field_identifier) )) . field_identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar20 < 0) {\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }" if (parenthesized_expression "(iVar20 < 0)" ( (binary_expression "iVar20 < 0" identifier < number_literal) )) (compound_statement "{\n              free(__ptr);\n              pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              einfo(pcVar18);\n              return;\n            }" { (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%X%P: unable to process relocs: %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%X%P: unable to process relocs: %E\n",5)" identifier (argument_list "(0,"%X%P: unable to process relocs: %E\n",5)" ( number_literal , (string_literal ""%X%P: unable to process relocs: %E\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar18);" (call_expression "einfo(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar25 = __ptr;" (assignment_expression "puVar25 = __ptr" identifier = identifier) ;) (if_statement "if (iVar20 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n              do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);\n            }" { (do_statement "do {\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              } while (puVar25 != __ptr + iVar20);" do (compound_statement "{\n                if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }\n                puVar25 = puVar25 + 1;\n              }" { (if_statement "if ((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')) {\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }" if (parenthesized_expression "((((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03'))" ( (binary_expression "(((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)) && (*(char *)(iVar21 + 0xc) == '\x03')" (parenthesized_expression "(((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0))" ( (binary_expression "((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0) &&\n                    (iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)" (parenthesized_expression "((*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0)" ( (binary_expression "(*(byte *)(**(int **)*puVar25 + 0x10) & 1) == 0" (parenthesized_expression "(*(byte *)(**(int **)*puVar25 + 0x10) & 1)" ( (binary_expression "*(byte *)(**(int **)*puVar25 + 0x10) & 1" (pointer_expression "*(byte *)(**(int **)*puVar25 + 0x10)" * (cast_expression "(byte *)(**(int **)*puVar25 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)*puVar25 + 0x10)" ( (binary_expression "**(int **)*puVar25 + 0x10" (pointer_expression "**(int **)*puVar25" * (pointer_expression "*(int **)*puVar25" * (cast_expression "(int **)*puVar25" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar25" * identifier)))) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0)" ( (comma_expression "iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1), iVar21 != 0" (assignment_expression "iVar21 = bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1)" identifier = (call_expression "bfd_link_hash_lookup\n                                        (link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1)" identifier (argument_list "(link_info.hash,*(undefined4 *)(**(int **)*puVar25 + 4),0,0,\n                                         1)" ( (field_expression "link_info.hash" identifier . field_identifier) , (pointer_expression "*(undefined4 *)(**(int **)*puVar25 + 4)" * (cast_expression "(undefined4 *)(**(int **)*puVar25 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)*puVar25 + 4)" ( (binary_expression "**(int **)*puVar25 + 4" (pointer_expression "**(int **)*puVar25" * (pointer_expression "*(int **)*puVar25" * (cast_expression "(int **)*puVar25" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar25" * identifier)))) + number_literal) )))) , number_literal , number_literal , number_literal )))) , (binary_expression "iVar21 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(*(char *)(iVar21 + 0xc) == '\x03')" ( (binary_expression "*(char *)(iVar21 + 0xc) == '\x03'" (pointer_expression "*(char *)(iVar21 + 0xc)" * (cast_expression "(char *)(iVar21 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0xc)" ( (binary_expression "iVar21 + 0xc" identifier + number_literal) )))) == (char_literal "'\x03'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);\n                  puVar15 = (undefined4 *)puVar5[0x23];\n                  if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }\n                  pcVar18 = (char *)*puVar15;\n                  iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);\n                  if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }\n                }" { (expression_statement "puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac);" (assignment_expression "puVar5 = *(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac)" * (cast_expression "(undefined4 **)(*(int *)(iVar21 + 0x14) + 0xac)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar21 + 0x14) + 0xac)" ( (binary_expression "*(int *)(iVar21 + 0x14) + 0xac" (pointer_expression "*(int *)(iVar21 + 0x14)" * (cast_expression "(int *)(iVar21 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x14)" ( (binary_expression "iVar21 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar15 = (undefined4 *)puVar5[0x23];" (assignment_expression "puVar15 = (undefined4 *)puVar5[0x23]" identifier = (cast_expression "(undefined4 *)puVar5[0x23]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[0x23]" identifier [ number_literal ]))) ;) (if_statement "if (puVar15 == (undefined4 *)0x0) {\n                    puVar15 = puVar5;\n                  }" if (parenthesized_expression "(puVar15 == (undefined4 *)0x0)" ( (binary_expression "puVar15 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    puVar15 = puVar5;\n                  }" { (expression_statement "puVar15 = puVar5;" (assignment_expression "puVar15 = puVar5" identifier = identifier) ;) })) (expression_statement "pcVar18 = (char *)*puVar15;" (assignment_expression "pcVar18 = (char *)*puVar15" identifier = (cast_expression "(char *)*puVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (expression_statement "iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18);" (assignment_expression "iVar21 = filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18)" identifier = (call_expression "filename_cmp(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18)" identifier (argument_list "(((local_40->input_statement).the_bfd)->my_archive->filename,\n                                        pcVar18)" ( (field_expression "((local_40->input_statement).the_bfd)->my_archive->filename" (field_expression "((local_40->input_statement).the_bfd)->my_archive" (parenthesized_expression "((local_40->input_statement).the_bfd)" ( (field_expression "(local_40->input_statement).the_bfd" (parenthesized_expression "(local_40->input_statement)" ( (field_expression "local_40->input_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) -> field_identifier) , identifier )))) ;) (if_statement "if (iVar21 != 0) {\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                    sVar16 = strlen(pcVar18);\n                    pcVar17 = (char *)xmalloc(sVar16 + 1);\n                    strcpy(pcVar17,pcVar18);\n                    ((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;\n                  }" { (expression_statement "sVar16 = strlen(pcVar18);" (assignment_expression "sVar16 = strlen(pcVar18)" identifier = (call_expression "strlen(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier )))) ;) (expression_statement "pcVar17 = (char *)xmalloc(sVar16 + 1);" (assignment_expression "pcVar17 = (char *)xmalloc(sVar16 + 1)" identifier = (cast_expression "(char *)xmalloc(sVar16 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar16 + 1)" identifier (argument_list "(sVar16 + 1)" ( (binary_expression "sVar16 + 1" identifier + number_literal) ))))) ;) (expression_statement "strcpy(pcVar17,pcVar18);" (call_expression "strcpy(pcVar17,pcVar18)" identifier (argument_list "(pcVar17,pcVar18)" ( identifier , identifier ))) ;) (expression_statement "((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17;" (assignment_expression "((local_40->input_statement).the_bfd)->my_archive->filename = pcVar17" (field_expression "((local_40->input_statement).the_bfd)->my_archive->filename" (field_expression "((local_40->input_statement).the_bfd)->my_archive" (parenthesized_expression "((local_40->input_statement).the_bfd)" ( (field_expression "(local_40->input_statement).the_bfd" (parenthesized_expression "(local_40->input_statement)" ( (field_expression "local_40->input_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) -> field_identifier) = identifier) ;) })) })) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar25 != __ptr + iVar20)" ( (binary_expression "puVar25 != __ptr + iVar20" identifier != (binary_expression "__ptr + iVar20" identifier + identifier)) )) ;) })) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "local_38 = local_38->next;" (assignment_expression "local_38 = local_38->next" identifier = (field_expression "local_38->next" identifier -> field_identifier)) ;) (if_statement "if (local_38 == (bfd_section *)0x0) break;" if (parenthesized_expression "(local_38 == (bfd_section *)0x0)" ( (binary_expression "local_38 == (bfd_section *)0x0" identifier == (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pbVar14 = (bfd *)(local_40->wild_statement).section_list;" (assignment_expression "pbVar14 = (bfd *)(local_40->wild_statement).section_list" identifier = (cast_expression "(bfd *)(local_40->wild_statement).section_list" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_40->wild_statement).section_list" (parenthesized_expression "(local_40->wild_statement)" ( (field_expression "local_40->wild_statement" identifier -> field_identifier) )) . field_identifier))) ;) })) })) })) (expression_statement "local_40 = (local_40->wild_statement).children.head;" (assignment_expression "local_40 = (local_40->wild_statement).children.head" identifier = (field_expression "(local_40->wild_statement).children.head" (field_expression "(local_40->wild_statement).children" (parenthesized_expression "(local_40->wild_statement)" ( (field_expression "local_40->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) }) while (parenthesized_expression "(local_40 != (lang_statement_union *)0x0)" ( (binary_expression "local_40 != (lang_statement_union *)0x0" identifier != (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "local_50 = file_chain.head;" (assignment_expression "local_50 = file_chain.head" identifier = (field_expression "file_chain.head" identifier . field_identifier)) ;) (if_statement "if (file_chain.head != (lang_statement_union *)0x0) {\n      bVar34 = false;\n      uVar28 = 0;\n      do {\n        uVar6 = ((local_50->reloc_statement).section)->lineno_count;\n        if (uVar6 != 0) {\n          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          plVar23 = local_50;\n          if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }\n          bVar34 = true;\n          iVar20 = filename_cmp(pcVar18,".dll");\n          uVar28 = uVar6;\n          if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }\n        }\nLAB_00053a60:\n        local_50 = (local_50->wild_statement).children.head;\n      } while (local_50 != (lang_statement_union *)0x0);\n    }" if (parenthesized_expression "(file_chain.head != (lang_statement_union *)0x0)" ( (binary_expression "file_chain.head != (lang_statement_union *)0x0" (field_expression "file_chain.head" identifier . field_identifier) != (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar34 = false;\n      uVar28 = 0;\n      do {\n        uVar6 = ((local_50->reloc_statement).section)->lineno_count;\n        if (uVar6 != 0) {\n          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          plVar23 = local_50;\n          if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }\n          bVar34 = true;\n          iVar20 = filename_cmp(pcVar18,".dll");\n          uVar28 = uVar6;\n          if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }\n        }\nLAB_00053a60:\n        local_50 = (local_50->wild_statement).children.head;\n      } while (local_50 != (lang_statement_union *)0x0);\n    }" { (expression_statement "bVar34 = false;" (assignment_expression "bVar34 = false" identifier = false) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar6 = ((local_50->reloc_statement).section)->lineno_count;\n        if (uVar6 != 0) {\n          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          plVar23 = local_50;\n          if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }\n          bVar34 = true;\n          iVar20 = filename_cmp(pcVar18,".dll");\n          uVar28 = uVar6;\n          if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }\n        }\nLAB_00053a60:\n        local_50 = (local_50->wild_statement).children.head;\n      } while (local_50 != (lang_statement_union *)0x0);" do (compound_statement "{\n        uVar6 = ((local_50->reloc_statement).section)->lineno_count;\n        if (uVar6 != 0) {\n          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          plVar23 = local_50;\n          if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }\n          bVar34 = true;\n          iVar20 = filename_cmp(pcVar18,".dll");\n          uVar28 = uVar6;\n          if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }\n        }\nLAB_00053a60:\n        local_50 = (local_50->wild_statement).children.head;\n      }" { (expression_statement "uVar6 = ((local_50->reloc_statement).section)->lineno_count;" (assignment_expression "uVar6 = ((local_50->reloc_statement).section)->lineno_count" identifier = (field_expression "((local_50->reloc_statement).section)->lineno_count" (parenthesized_expression "((local_50->reloc_statement).section)" ( (field_expression "(local_50->reloc_statement).section" (parenthesized_expression "(local_50->reloc_statement)" ( (field_expression "local_50->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) ;) (if_statement "if (uVar6 != 0) {\n          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          plVar23 = local_50;\n          if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }\n          bVar34 = true;\n          iVar20 = filename_cmp(pcVar18,".dll");\n          uVar28 = uVar6;\n          if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }\n        }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          plVar23 = local_50;\n          if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }\n          bVar34 = true;\n          iVar20 = filename_cmp(pcVar18,".dll");\n          uVar28 = uVar6;\n          if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }\n        }" { (expression_statement "pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);" (assignment_expression "pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e)" identifier = (call_expression "strrchr(((local_50->reloc_statement).section)->name,0x2e)" identifier (argument_list "(((local_50->reloc_statement).section)->name,0x2e)" ( (field_expression "((local_50->reloc_statement).section)->name" (parenthesized_expression "((local_50->reloc_statement).section)" ( (field_expression "(local_50->reloc_statement).section" (parenthesized_expression "(local_50->reloc_statement)" ( (field_expression "local_50->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) , number_literal )))) ;) (expression_statement "plVar23 = local_50;" (assignment_expression "plVar23 = local_50" identifier = identifier) ;) (if_statement "if (uVar28 == uVar6) {\n            if (!bVar34) goto LAB_00053a60;\n          }\n          else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }" if (parenthesized_expression "(uVar28 == uVar6)" ( (binary_expression "uVar28 == uVar6" identifier == identifier) )) (compound_statement "{\n            if (!bVar34) goto LAB_00053a60;\n          }" { (if_statement "if (!bVar34) goto LAB_00053a60;" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (goto_statement "goto LAB_00053a60;" goto statement_identifier ;)) }) (else_clause "else {\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }" else (compound_statement "{\n            while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }\n            do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);\n            pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);\n          }" { (while_statement "while ((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))) {\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }" while (parenthesized_expression "((plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0)))" ( (parenthesized_expression "(plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0))" ( (comma_expression "plVar29 = local_50, pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0)" (assignment_expression "plVar29 = local_50" identifier = identifier) , (binary_expression "pcVar18 == (char *)0x0 ||\n                   (iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0)" (binary_expression "pcVar18 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0)" ( (comma_expression "iVar20 = filename_cmp(pcVar18,".dll"), iVar20 != 0" (assignment_expression "iVar20 = filename_cmp(pcVar18,".dll")" identifier = (call_expression "filename_cmp(pcVar18,".dll")" identifier (argument_list "(pcVar18,".dll")" ( identifier , (string_literal "".dll"" " string_content ") )))) , (binary_expression "iVar20 != 0" identifier != number_literal)) )))) )) )) (compound_statement "{\n              plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;\n              if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }\n              if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;\n              pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);\n            }" { (expression_statement "plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section;" (assignment_expression "plVar23 = (lang_statement_union *)(plVar23->data_statement).output_section" identifier = (cast_expression "(lang_statement_union *)(plVar23->data_statement).output_section" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(plVar23->data_statement).output_section" (parenthesized_expression "(plVar23->data_statement)" ( (field_expression "plVar23->data_statement" identifier -> field_identifier) )) . field_identifier))) ;) (if_statement "if (plVar23 == (lang_statement_union *)0x0) {\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }" if (parenthesized_expression "(plVar23 == (lang_statement_union *)0x0)" ( (binary_expression "plVar23 == (lang_statement_union *)0x0" identifier == (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                bVar34 = false;\n                uVar28 = uVar6;\n                goto LAB_00053a60;\n              }" { (expression_statement "bVar34 = false;" (assignment_expression "bVar34 = false" identifier = false) ;) (expression_statement "uVar28 = uVar6;" (assignment_expression "uVar28 = uVar6" identifier = identifier) ;) (goto_statement "goto LAB_00053a60;" goto statement_identifier ;) })) (if_statement "if (uVar6 != ((plVar23->reloc_statement).section)->lineno_count) break;" if (parenthesized_expression "(uVar6 != ((plVar23->reloc_statement).section)->lineno_count)" ( (binary_expression "uVar6 != ((plVar23->reloc_statement).section)->lineno_count" identifier != (field_expression "((plVar23->reloc_statement).section)->lineno_count" (parenthesized_expression "((plVar23->reloc_statement).section)" ( (field_expression "(plVar23->reloc_statement).section" (parenthesized_expression "(plVar23->reloc_statement)" ( (field_expression "plVar23->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) )) (break_statement "break;" break ;)) (expression_statement "pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e);" (assignment_expression "pcVar18 = strrchr(((plVar23->reloc_statement).section)->name,0x2e)" identifier = (call_expression "strrchr(((plVar23->reloc_statement).section)->name,0x2e)" identifier (argument_list "(((plVar23->reloc_statement).section)->name,0x2e)" ( (field_expression "((plVar23->reloc_statement).section)->name" (parenthesized_expression "((plVar23->reloc_statement).section)" ( (field_expression "(plVar23->reloc_statement).section" (parenthesized_expression "(plVar23->reloc_statement)" ( (field_expression "plVar23->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) , number_literal )))) ;) })) (do_statement "do {\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            } while (plVar29 != (lang_statement_union *)0x0);" do (compound_statement "{\n              if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;\n              pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;\n              pcVar18 = strrchr((char *)pwVar22,0x2e);\n              if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }\n              plVar29 = (plVar29->wild_statement).children.head;\n            }" { (if_statement "if (uVar6 != ((plVar29->reloc_statement).section)->lineno_count) break;" if (parenthesized_expression "(uVar6 != ((plVar29->reloc_statement).section)->lineno_count)" ( (binary_expression "uVar6 != ((plVar29->reloc_statement).section)->lineno_count" identifier != (field_expression "((plVar29->reloc_statement).section)->lineno_count" (parenthesized_expression "((plVar29->reloc_statement).section)" ( (field_expression "(plVar29->reloc_statement).section" (parenthesized_expression "(plVar29->reloc_statement)" ( (field_expression "plVar29->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) )) (break_statement "break;" break ;)) (expression_statement "pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name;" (assignment_expression "pwVar22 = (wildcard_list *)((plVar29->reloc_statement).section)->name" identifier = (cast_expression "(wildcard_list *)((plVar29->reloc_statement).section)->name" ( (type_descriptor "wildcard_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((plVar29->reloc_statement).section)->name" (parenthesized_expression "((plVar29->reloc_statement).section)" ( (field_expression "(plVar29->reloc_statement).section" (parenthesized_expression "(plVar29->reloc_statement)" ( (field_expression "plVar29->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) ;) (expression_statement "pcVar18 = strrchr((char *)pwVar22,0x2e);" (assignment_expression "pcVar18 = strrchr((char *)pwVar22,0x2e)" identifier = (call_expression "strrchr((char *)pwVar22,0x2e)" identifier (argument_list "((char *)pwVar22,0x2e)" ( (cast_expression "(char *)pwVar22" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (pcVar18 == (char *)0x0) {\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }" if (parenthesized_expression "(pcVar18 == (char *)0x0)" ( (binary_expression "pcVar18 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);\n                if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }\n              }" { (labeled_statement "LAB_00053b30:\n                iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);" statement_identifier : (expression_statement "iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22);" (assignment_expression "iVar20 = filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22)" identifier = (call_expression "filename_cmp(((plVar23->wild_statement).section_list)->next,pwVar22)" identifier (argument_list "(((plVar23->wild_statement).section_list)->next,pwVar22)" ( (field_expression "((plVar23->wild_statement).section_list)->next" (parenthesized_expression "((plVar23->wild_statement).section_list)" ( (field_expression "(plVar23->wild_statement).section_list" (parenthesized_expression "(plVar23->wild_statement)" ( (field_expression "plVar23->wild_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) , identifier )))) ;)) (if_statement "if (iVar20 != 0) {\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                  bVar34 = false;\n                  uVar28 = uVar6;\n                  goto LAB_00053a60;\n                }" { (expression_statement "bVar34 = false;" (assignment_expression "bVar34 = false" identifier = false) ;) (expression_statement "uVar28 = uVar6;" (assignment_expression "uVar28 = uVar6" identifier = identifier) ;) (goto_statement "goto LAB_00053a60;" goto statement_identifier ;) })) }) (else_clause "else {\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }" else (compound_statement "{\n                iVar20 = filename_cmp(pcVar18,&DAT_00193d01);\n                if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }\n              }" { (expression_statement "iVar20 = filename_cmp(pcVar18,&DAT_00193d01);" (assignment_expression "iVar20 = filename_cmp(pcVar18,&DAT_00193d01)" identifier = (call_expression "filename_cmp(pcVar18,&DAT_00193d01)" identifier (argument_list "(pcVar18,&DAT_00193d01)" ( identifier , (pointer_expression "&DAT_00193d01" & identifier) )))) ;) (if_statement "if (iVar20 != 0) {\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                  pwVar22 = ((plVar29->wild_statement).section_list)->next;\n                  goto LAB_00053b30;\n                }" { (expression_statement "pwVar22 = ((plVar29->wild_statement).section_list)->next;" (assignment_expression "pwVar22 = ((plVar29->wild_statement).section_list)->next" identifier = (field_expression "((plVar29->wild_statement).section_list)->next" (parenthesized_expression "((plVar29->wild_statement).section_list)" ( (field_expression "(plVar29->wild_statement).section_list" (parenthesized_expression "(plVar29->wild_statement)" ( (field_expression "plVar29->wild_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) ;) (goto_statement "goto LAB_00053b30;" goto statement_identifier ;) })) }))) (expression_statement "plVar29 = (plVar29->wild_statement).children.head;" (assignment_expression "plVar29 = (plVar29->wild_statement).children.head" identifier = (field_expression "(plVar29->wild_statement).children.head" (field_expression "(plVar29->wild_statement).children" (parenthesized_expression "(plVar29->wild_statement)" ( (field_expression "plVar29->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) }) while (parenthesized_expression "(plVar29 != (lang_statement_union *)0x0)" ( (binary_expression "plVar29 != (lang_statement_union *)0x0" identifier != (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e);" (assignment_expression "pcVar18 = strrchr(((local_50->reloc_statement).section)->name,0x2e)" identifier = (call_expression "strrchr(((local_50->reloc_statement).section)->name,0x2e)" identifier (argument_list "(((local_50->reloc_statement).section)->name,0x2e)" ( (field_expression "((local_50->reloc_statement).section)->name" (parenthesized_expression "((local_50->reloc_statement).section)" ( (field_expression "(local_50->reloc_statement).section" (parenthesized_expression "(local_50->reloc_statement)" ( (field_expression "local_50->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) , number_literal )))) ;) }))) (expression_statement "bVar34 = true;" (assignment_expression "bVar34 = true" identifier = true) ;) (expression_statement "iVar20 = filename_cmp(pcVar18,".dll");" (assignment_expression "iVar20 = filename_cmp(pcVar18,".dll")" identifier = (call_expression "filename_cmp(pcVar18,".dll")" identifier (argument_list "(pcVar18,".dll")" ( identifier , (string_literal "".dll"" " string_content ") )))) ;) (expression_statement "uVar28 = uVar6;" (assignment_expression "uVar28 = uVar6" identifier = identifier) ;) (if_statement "if (iVar20 == 0) {\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n            pbVar19 = ((local_50->input_statement).the_bfd)->sections;\n            if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }\n            sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);\n            ((local_50->reloc_statement).section)->name = pcVar18;\n            sVar16 = strlen((local_50->wild_statement).filename);\n            pcVar18 = (char *)xmalloc(sVar16 + 3);\n            sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);\n            (local_50->wild_statement).filename = pcVar18;\n            bVar34 = true;\n          }" { (expression_statement "pbVar19 = ((local_50->input_statement).the_bfd)->sections;" (assignment_expression "pbVar19 = ((local_50->input_statement).the_bfd)->sections" identifier = (field_expression "((local_50->input_statement).the_bfd)->sections" (parenthesized_expression "((local_50->input_statement).the_bfd)" ( (field_expression "(local_50->input_statement).the_bfd" (parenthesized_expression "(local_50->input_statement)" ( (field_expression "local_50->input_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) ;) (if_statement "if (pbVar19 == (bfd_section *)0x0) {\n              iVar20 = 99;\n            }\n            else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }" if (parenthesized_expression "(pbVar19 == (bfd_section *)0x0)" ( (binary_expression "pbVar19 == (bfd_section *)0x0" identifier == (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar20 = 99;\n            }" { (expression_statement "iVar20 = 99;" (assignment_expression "iVar20 = 99" identifier = number_literal) ;) }) (else_clause "else {\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }" else (compound_statement "{\n              bVar33 = true;\n              iVar21 = 0;\n              bVar34 = false;\n              do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);\n              iVar20 = 0x61;\n              if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }\n            }" { (expression_statement "bVar33 = true;" (assignment_expression "bVar33 = true" identifier = true) ;) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "bVar34 = false;" (assignment_expression "bVar34 = false" identifier = false) ;) (do_statement "do {\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              } while (!bVar33);" do (compound_statement "{\n                bVar31 = false;\n                iVar20 = 9;\n                pbVar26 = (byte *)pbVar19->name;\n                pbVar30 = (byte *)".idata$2";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);\n                if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }\n                iVar21 = iVar21 + pbVar19->reloc_count;\n                pbVar19 = pbVar19->next;\n                bVar33 = pbVar19 == (bfd_section *)0x0;\n              }" { (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (expression_statement "iVar20 = 9;" (assignment_expression "iVar20 = 9" identifier = number_literal) ;) (expression_statement "pbVar26 = (byte *)pbVar19->name;" (assignment_expression "pbVar26 = (byte *)pbVar19->name" identifier = (cast_expression "(byte *)pbVar19->name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pbVar19->name" identifier -> field_identifier))) ;) (expression_statement "pbVar30 = (byte *)".idata$2";" (assignment_expression "pbVar30 = (byte *)".idata$2"" identifier = (cast_expression "(byte *)".idata$2"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".idata$2"" " string_content "))) ;) (do_statement "do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                } while (bVar33);" do (compound_statement "{\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar31 = *pbVar26 < *pbVar30;\n                  bVar33 = *pbVar26 == *pbVar30;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;\n                }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar26 < *pbVar30;" (assignment_expression "bVar31 = *pbVar26 < *pbVar30" identifier = (binary_expression "*pbVar26 < *pbVar30" (pointer_expression "*pbVar26" * identifier) < (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "bVar33 = *pbVar26 == *pbVar30;" (assignment_expression "bVar33 = *pbVar26 == *pbVar30" identifier = (binary_expression "*pbVar26 == *pbVar30" (pointer_expression "*pbVar26" * identifier) == (pointer_expression "*pbVar30" * identifier))) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar30 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar30 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar33)" ( identifier )) ;) (if_statement "if ((!bVar31 && !bVar33) == bVar31) {\n                  bVar34 = true;\n                }" if (parenthesized_expression "((!bVar31 && !bVar33) == bVar31)" ( (binary_expression "(!bVar31 && !bVar33) == bVar31" (parenthesized_expression "(!bVar31 && !bVar33)" ( (binary_expression "!bVar31 && !bVar33" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar33" ! identifier)) )) == identifier) )) (compound_statement "{\n                  bVar34 = true;\n                }" { (expression_statement "bVar34 = true;" (assignment_expression "bVar34 = true" identifier = true) ;) })) (expression_statement "iVar21 = iVar21 + pbVar19->reloc_count;" (assignment_expression "iVar21 = iVar21 + pbVar19->reloc_count" identifier = (binary_expression "iVar21 + pbVar19->reloc_count" identifier + (field_expression "pbVar19->reloc_count" identifier -> field_identifier))) ;) (expression_statement "pbVar19 = pbVar19->next;" (assignment_expression "pbVar19 = pbVar19->next" identifier = (field_expression "pbVar19->next" identifier -> field_identifier)) ;) (expression_statement "bVar33 = pbVar19 == (bfd_section *)0x0;" (assignment_expression "bVar33 = pbVar19 == (bfd_section *)0x0" identifier = (binary_expression "pbVar19 == (bfd_section *)0x0" identifier == (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }) while (parenthesized_expression "(!bVar33)" ( (unary_expression "!bVar33" ! identifier) )) ;) (expression_statement "iVar20 = 0x61;" (assignment_expression "iVar20 = 0x61" identifier = number_literal) ;) (if_statement "if (!bVar34) {\n                iVar20 = (iVar21 < 1) + 0x62;\n              }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n                iVar20 = (iVar21 < 1) + 0x62;\n              }" { (expression_statement "iVar20 = (iVar21 < 1) + 0x62;" (assignment_expression "iVar20 = (iVar21 < 1) + 0x62" identifier = (binary_expression "(iVar21 < 1) + 0x62" (parenthesized_expression "(iVar21 < 1)" ( (binary_expression "iVar21 < 1" identifier < number_literal) )) + number_literal)) ;) })) }))) (expression_statement "sVar16 = strlen(((local_50->input_statement).the_bfd)->filename);" (assignment_expression "sVar16 = strlen(((local_50->input_statement).the_bfd)->filename)" identifier = (call_expression "strlen(((local_50->input_statement).the_bfd)->filename)" identifier (argument_list "(((local_50->input_statement).the_bfd)->filename)" ( (field_expression "((local_50->input_statement).the_bfd)->filename" (parenthesized_expression "((local_50->input_statement).the_bfd)" ( (field_expression "(local_50->input_statement).the_bfd" (parenthesized_expression "(local_50->input_statement)" ( (field_expression "local_50->input_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) )))) ;) (expression_statement "pcVar18 = (char *)xmalloc(sVar16 + 3);" (assignment_expression "pcVar18 = (char *)xmalloc(sVar16 + 3)" identifier = (cast_expression "(char *)xmalloc(sVar16 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar16 + 3)" identifier (argument_list "(sVar16 + 3)" ( (binary_expression "sVar16 + 3" identifier + number_literal) ))))) ;) (expression_statement "sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20);" (call_expression "sprintf(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20)" identifier (argument_list "(pcVar18,"%s.%c",((local_50->wild_statement).section_list)->next,iVar20)" ( identifier , (string_literal ""%s.%c"" " string_content ") , (field_expression "((local_50->wild_statement).section_list)->next" (parenthesized_expression "((local_50->wild_statement).section_list)" ( (field_expression "(local_50->wild_statement).section_list" (parenthesized_expression "(local_50->wild_statement)" ( (field_expression "local_50->wild_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) , identifier ))) ;) (expression_statement "((local_50->reloc_statement).section)->name = pcVar18;" (assignment_expression "((local_50->reloc_statement).section)->name = pcVar18" (field_expression "((local_50->reloc_statement).section)->name" (parenthesized_expression "((local_50->reloc_statement).section)" ( (field_expression "(local_50->reloc_statement).section" (parenthesized_expression "(local_50->reloc_statement)" ( (field_expression "local_50->reloc_statement" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "sVar16 = strlen((local_50->wild_statement).filename);" (assignment_expression "sVar16 = strlen((local_50->wild_statement).filename)" identifier = (call_expression "strlen((local_50->wild_statement).filename)" identifier (argument_list "((local_50->wild_statement).filename)" ( (field_expression "(local_50->wild_statement).filename" (parenthesized_expression "(local_50->wild_statement)" ( (field_expression "local_50->wild_statement" identifier -> field_identifier) )) . field_identifier) )))) ;) (expression_statement "pcVar18 = (char *)xmalloc(sVar16 + 3);" (assignment_expression "pcVar18 = (char *)xmalloc(sVar16 + 3)" identifier = (cast_expression "(char *)xmalloc(sVar16 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar16 + 3)" identifier (argument_list "(sVar16 + 3)" ( (binary_expression "sVar16 + 3" identifier + number_literal) ))))) ;) (expression_statement "sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20);" (call_expression "sprintf(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20)" identifier (argument_list "(pcVar18,"%s.%c",(local_50->wild_statement).filename,iVar20)" ( identifier , (string_literal ""%s.%c"" " string_content ") , (field_expression "(local_50->wild_statement).filename" (parenthesized_expression "(local_50->wild_statement)" ( (field_expression "local_50->wild_statement" identifier -> field_identifier) )) . field_identifier) , identifier ))) ;) (expression_statement "(local_50->wild_statement).filename = pcVar18;" (assignment_expression "(local_50->wild_statement).filename = pcVar18" (field_expression "(local_50->wild_statement).filename" (parenthesized_expression "(local_50->wild_statement)" ( (field_expression "local_50->wild_statement" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "bVar34 = true;" (assignment_expression "bVar34 = true" identifier = true) ;) })) })) (labeled_statement "LAB_00053a60:\n        local_50 = (local_50->wild_statement).children.head;" statement_identifier : (expression_statement "local_50 = (local_50->wild_statement).children.head;" (assignment_expression "local_50 = (local_50->wild_statement).children.head" identifier = (field_expression "(local_50->wild_statement).children.head" (field_expression "(local_50->wild_statement).children" (parenthesized_expression "(local_50->wild_statement)" ( (field_expression "local_50->wild_statement" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;)) }) while (parenthesized_expression "(local_50 != (lang_statement_union *)0x0)" ( (binary_expression "local_50 != (lang_statement_union *)0x0" identifier != (cast_expression "(lang_statement_union *)0x0" ( (type_descriptor "lang_statement_union *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_000535a0(void)\n\n{\n  int *piVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  byte bVar4;\n  void *pvVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  size_t sVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_50;\n  int local_40;\n  undefined4 *local_38;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar25 = 0;\n  uStack_14 = 0x535a9;\n  FUN_00033940();\n  FUN_00052dd0();\n  if (DAT_001d1144 == 0) {\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }\n  iVar7 = DAT_001d1414;\n  if (*(int *)(DAT_001d1414 + 0xa0) != 0) {\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }\n  uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);\n  FUN_00034d20(uVar12,iVar7);\nLAB_00053690:\n  iVar17 = DAT_001d1414;\n  iVar7 = *(int *)(DAT_001d1414 + 0xa0);\n  puVar8 = &DAT_001d0e20;\n  puVar18 = (undefined4 *)(iVar7 + 0x7c);\n  for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }\n  *(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;\n  *(undefined4 *)(iVar7 + 0x1c4) = uVar12;\n  *(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;\n  if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }\n  FUN_0005fed0(iVar17);\n  FUN_0005e960(DAT_001d1414,&DAT_001d13e0);\n  if (DAT_001d1448 != 0) {\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }\n  if (DAT_001cfc6c != 0) {\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }\n  if ((DAT_001d13e0 & 3) != 2) {\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }\n  local_40 = DAT_001d06bc;\n  if (DAT_001d06bc != 0) {\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_000535a0(void)\n\n{\n  int *piVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  byte bVar4;\n  void *pvVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  size_t sVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_50;\n  int local_40;\n  undefined4 *local_38;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar25 = 0;\n  uStack_14 = 0x535a9;\n  FUN_00033940();\n  FUN_00052dd0();\n  if (DAT_001d1144 == 0) {\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }\n  iVar7 = DAT_001d1414;\n  if (*(int *)(DAT_001d1414 + 0xa0) != 0) {\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }\n  uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);\n  FUN_00034d20(uVar12,iVar7);\nLAB_00053690:\n  iVar17 = DAT_001d1414;\n  iVar7 = *(int *)(DAT_001d1414 + 0xa0);\n  puVar8 = &DAT_001d0e20;\n  puVar18 = (undefined4 *)(iVar7 + 0x7c);\n  for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }\n  *(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;\n  *(undefined4 *)(iVar7 + 0x1c4) = uVar12;\n  *(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;\n  if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }\n  FUN_0005fed0(iVar17);\n  FUN_0005e960(DAT_001d1414,&DAT_001d13e0);\n  if (DAT_001d1448 != 0) {\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }\n  if (DAT_001cfc6c != 0) {\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }\n  if ((DAT_001d13e0 & 3) != 2) {\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }\n  local_40 = DAT_001d06bc;\n  if (DAT_001d06bc != 0) {\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000535a0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int *piVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  byte bVar4;\n  void *pvVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  size_t sVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_50;\n  int local_40;\n  undefined4 *local_38;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar25 = 0;\n  uStack_14 = 0x535a9;\n  FUN_00033940();\n  FUN_00052dd0();\n  if (DAT_001d1144 == 0) {\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }\n  iVar7 = DAT_001d1414;\n  if (*(int *)(DAT_001d1414 + 0xa0) != 0) {\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }\n  uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);\n  FUN_00034d20(uVar12,iVar7);\nLAB_00053690:\n  iVar17 = DAT_001d1414;\n  iVar7 = *(int *)(DAT_001d1414 + 0xa0);\n  puVar8 = &DAT_001d0e20;\n  puVar18 = (undefined4 *)(iVar7 + 0x7c);\n  for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }\n  *(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;\n  *(undefined4 *)(iVar7 + 0x1c4) = uVar12;\n  *(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;\n  if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }\n  FUN_0005fed0(iVar17);\n  FUN_0005e960(DAT_001d1414,&DAT_001d13e0);\n  if (DAT_001d1448 != 0) {\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }\n  if (DAT_001cfc6c != 0) {\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }\n  if ((DAT_001d13e0 & 3) != 2) {\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }\n  local_40 = DAT_001d06bc;\n  if (DAT_001d06bc != 0) {\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "void *pvVar5;" primitive_type (pointer_declarator "*pvVar5" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_20 [3];" primitive_type (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x535a9;" (assignment_expression "uStack_14 = 0x535a9" identifier = number_literal) ;) (expression_statement "FUN_00033940();" (call_expression "FUN_00033940()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00052dd0();" (call_expression "FUN_00052dd0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_001d1144 == 0) {\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }" if (parenthesized_expression "(DAT_001d1144 == 0)" ( (binary_expression "DAT_001d1144 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }" { (labeled_statement "LAB_000535da:\n    puVar8 = DAT_001d141c;" statement_identifier : (expression_statement "puVar8 = DAT_001d141c;" (assignment_expression "puVar8 = DAT_001d141c" identifier = identifier) ;)) (if_statement "if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }" if (parenthesized_expression "(DAT_001d0dfc != (void *)0x0)" ( (binary_expression "DAT_001d0dfc != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }" { (for_statement "for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }" for ( ; (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar8 = (undefined4 *)puVar8[0x27]" identifier = (cast_expression "(undefined4 *)puVar8[0x27]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[0x27]" identifier [ number_literal ]))) ) (compound_statement "{\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }" { (if_statement "if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }" if (parenthesized_expression "(*(int *)(puVar8[1] + 4) == 2)" ( (binary_expression "*(int *)(puVar8[1] + 4) == 2" (pointer_expression "*(int *)(puVar8[1] + 4)" * (cast_expression "(int *)(puVar8[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8[1] + 4)" ( (binary_expression "puVar8[1] + 4" (subscript_expression "puVar8[1]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }" { (expression_statement "iVar7 = FUN_00038960(DAT_001d0dfc);" (assignment_expression "iVar7 = FUN_00038960(DAT_001d0dfc)" identifier = (call_expression "FUN_00038960(DAT_001d0dfc)" identifier (argument_list "(DAT_001d0dfc)" ( identifier )))) ;) (if_statement "if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" { (expression_statement "pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar13 = "%P: warning: unrecognized --build-id style ignored\n"" identifier = (string_literal ""%P: warning: unrecognized --build-id style ignored\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" else (compound_statement "{\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" { (expression_statement "iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );" (assignment_expression "iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               )" identifier = (call_expression "bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               )" identifier (argument_list "(puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               )" ( identifier , (string_literal "".buildid"" " string_content ") , (string_literal "" SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   " " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") )))) ;) (expression_statement "iVar7 = DAT_001d1414;" (assignment_expression "iVar7 = DAT_001d1414" identifier = identifier) ;) (if_statement "if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }" { (expression_statement "iVar16 = *(int *)(DAT_001d1414 + 0xa0);" (assignment_expression "iVar16 = *(int *)(DAT_001d1414 + 0xa0)" identifier = (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" * (cast_expression "(int *)(DAT_001d1414 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1414 + 0xa0)" ( (binary_expression "DAT_001d1414 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "*(code **)(iVar16 + 0x1dc) = FUN_00052960;" (assignment_expression "*(code **)(iVar16 + 0x1dc) = FUN_00052960" (pointer_expression "*(code **)(iVar16 + 0x1dc)" * (cast_expression "(code **)(iVar16 + 0x1dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x1dc)" ( (binary_expression "iVar16 + 0x1dc" identifier + number_literal) )))) = identifier) ;) (expression_statement "pvVar5 = DAT_001d0dfc;" (assignment_expression "pvVar5 = DAT_001d0dfc" identifier = identifier) ;) (expression_statement "iVar14 = *(int *)(iVar16 + 0x58);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x58)" identifier = (pointer_expression "*(int *)(iVar16 + 0x58)" * (cast_expression "(int *)(iVar16 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x58)" ( (binary_expression "iVar16 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar16 + 0x1e4) = iVar17;" (assignment_expression "*(int *)(iVar16 + 0x1e4) = iVar17" (pointer_expression "*(int *)(iVar16 + 0x1e4)" * (cast_expression "(int *)(iVar16 + 0x1e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x1e4)" ( (binary_expression "iVar16 + 0x1e4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(void **)(iVar16 + 0x1e0) = pvVar5;" (assignment_expression "*(void **)(iVar16 + 0x1e0) = pvVar5" (pointer_expression "*(void **)(iVar16 + 0x1e0)" * (cast_expression "(void **)(iVar16 + 0x1e0)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x1e0)" ( (binary_expression "iVar16 + 0x1e0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar17 + 0x2c) = 0x35;" (assignment_expression "*(undefined4 *)(iVar17 + 0x2c) = 0x35" (pointer_expression "*(undefined4 *)(iVar17 + 0x2c)" * (cast_expression "(undefined4 *)(iVar17 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x2c)" ( (binary_expression "iVar17 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar17 + 0x30) = 0;" (assignment_expression "*(undefined4 *)(iVar17 + 0x30) = 0" (pointer_expression "*(undefined4 *)(iVar17 + 0x30)" * (cast_expression "(undefined4 *)(iVar17 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x30)" ( (binary_expression "iVar17 + 0x30" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto joined_r0x00053689;" goto statement_identifier ;) })) (expression_statement "pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";" (assignment_expression "pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n"" identifier = (string_literal ""%P: warning: cannot create .buildid section, --build-id ignored\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar12 = dcgettext(0,pcVar13,5);" (assignment_expression "uVar12 = dcgettext(0,pcVar13,5)" identifier = (call_expression "dcgettext(0,pcVar13,5)" identifier (argument_list "(0,pcVar13,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (break_statement "break;" break ;) })) })) (labeled_statement "LAB_000539a9:\n      free(DAT_001d0dfc);" statement_identifier : (expression_statement "free(DAT_001d0dfc);" (call_expression "free(DAT_001d0dfc)" identifier (argument_list "(DAT_001d0dfc)" ( identifier ))) ;)) (expression_statement "DAT_001d0dfc = (void *)0x0;" (assignment_expression "DAT_001d0dfc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }" else (compound_statement "{\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }" { (expression_statement "printf("%s()\n","gld_i386pep_after_open");" (call_expression "printf("%s()\n","gld_i386pep_after_open")" identifier (argument_list "("%s()\n","gld_i386pep_after_open")" ( (string_literal ""%s()\n"" " string_content escape_sequence ") , (string_literal ""gld_i386pep_after_open"" " string_content ") ))) ;) (for_statement "for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }" for ( (assignment_expression "iVar7 = *(int *)(DAT_001d1400 + 0x1c)" identifier = (pointer_expression "*(int *)(DAT_001d1400 + 0x1c)" * (cast_expression "(int *)(DAT_001d1400 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1400 + 0x1c)" ( (binary_expression "DAT_001d1400 + 0x1c" identifier + number_literal) ))))) ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = *(int *)(iVar7 + 0x10)" identifier = (pointer_expression "*(int *)(iVar7 + 0x10)" * (cast_expression "(int *)(iVar7 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) ))))) ) (compound_statement "{\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }" { (expression_statement "printf("-%s\n",*(undefined4 *)(iVar7 + 4));" (call_expression "printf("-%s\n",*(undefined4 *)(iVar7 + 4))" identifier (argument_list "("-%s\n",*(undefined4 *)(iVar7 + 4))" ( (string_literal ""-%s\n"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) ))) ;) })) (expression_statement "bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);" (call_expression "bfd_hash_traverse(DAT_001d1400,FUN_00052650,0)" identifier (argument_list "(DAT_001d1400,FUN_00052650,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "puVar8 = DAT_001d141c;" (assignment_expression "puVar8 = DAT_001d141c" identifier = identifier) ;) (if_statement "if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }" if (parenthesized_expression "(DAT_001d141c != (undefined4 *)0x0)" ( (binary_expression "DAT_001d141c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }" { (do_statement "do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);" do (compound_statement "{\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      }" { (expression_statement "printf("*%s\n",*puVar8);" (call_expression "printf("*%s\n",*puVar8)" identifier (argument_list "("*%s\n",*puVar8)" ( (string_literal ""*%s\n"" " string_content escape_sequence ") , (pointer_expression "*puVar8" * identifier) ))) ;) (expression_statement "puVar18 = puVar8 + 0x27;" (assignment_expression "puVar18 = puVar8 + 0x27" identifier = (binary_expression "puVar8 + 0x27" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)*puVar18;" (assignment_expression "puVar8 = (undefined4 *)*puVar18" identifier = (cast_expression "(undefined4 *)*puVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) }) while (parenthesized_expression "((undefined4 *)*puVar18 != (undefined4 *)0x0)" ( (binary_expression "(undefined4 *)*puVar18 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*puVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier)) != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (goto_statement "goto LAB_000535da;" goto statement_identifier ;) })) (if_statement "if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;" if (parenthesized_expression "(DAT_001d0dfc != (void *)0x0)" ( (binary_expression "DAT_001d0dfc != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000539a9;" goto statement_identifier ;)) }))) (expression_statement "iVar7 = DAT_001d1414;" (assignment_expression "iVar7 = DAT_001d1414" identifier = identifier) ;) (if_statement "if (*(int *)(DAT_001d1414 + 0xa0) != 0) {\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }" if (parenthesized_expression "(*(int *)(DAT_001d1414 + 0xa0) != 0)" ( (binary_expression "*(int *)(DAT_001d1414 + 0xa0) != 0" (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" * (cast_expression "(int *)(DAT_001d1414 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1414 + 0xa0)" ( (binary_expression "DAT_001d1414 + 0xa0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }" { (expression_statement "iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);" (assignment_expression "iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" identifier = (pointer_expression "*(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" * (cast_expression "(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" ( (binary_expression "*(int *)(DAT_001d1414 + 0xa0) + 0x58" (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" * (cast_expression "(int *)(DAT_001d1414 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1414 + 0xa0)" ( (binary_expression "DAT_001d1414 + 0xa0" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "joined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;" statement_identifier : (if_statement "if (iVar14 != 0) goto LAB_00053690;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00053690;" goto statement_identifier ;))) })) (expression_statement "uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);" (assignment_expression "uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5)" identifier (argument_list "(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5)" ( number_literal , (string_literal ""%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar12,iVar7);" (call_expression "FUN_00034d20(uVar12,iVar7)" identifier (argument_list "(uVar12,iVar7)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00053690:\n  iVar17 = DAT_001d1414;" statement_identifier : (expression_statement "iVar17 = DAT_001d1414;" (assignment_expression "iVar17 = DAT_001d1414" identifier = identifier) ;)) (expression_statement "iVar7 = *(int *)(DAT_001d1414 + 0xa0);" (assignment_expression "iVar7 = *(int *)(DAT_001d1414 + 0xa0)" identifier = (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" * (cast_expression "(int *)(DAT_001d1414 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1414 + 0xa0)" ( (binary_expression "DAT_001d1414 + 0xa0" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = &DAT_001d0e20;" (assignment_expression "puVar8 = &DAT_001d0e20" identifier = (pointer_expression "&DAT_001d0e20" & identifier)) ;) (expression_statement "puVar18 = (undefined4 *)(iVar7 + 0x7c);" (assignment_expression "puVar18 = (undefined4 *)(iVar7 + 0x7c)" identifier = (cast_expression "(undefined4 *)(iVar7 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x7c)" ( (binary_expression "iVar7 + 0x7c" identifier + number_literal) )))) ;) (for_statement "for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }" for ( (assignment_expression "iVar16 = 0x52" identifier = number_literal) ; (comma_expression "uVar12 = DAT_001cfd24, iVar16 != 0" (assignment_expression "uVar12 = DAT_001cfd24" identifier = identifier) , (binary_expression "iVar16 != 0" identifier != number_literal)) ; (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }" { (expression_statement "*puVar18 = *puVar8;" (assignment_expression "*puVar18 = *puVar8" (pointer_expression "*puVar18" * identifier) = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "puVar8 = puVar8 + (uint)bVar25 * -2 + 1;" (assignment_expression "puVar8 = puVar8 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "puVar8 + (uint)bVar25 * -2 + 1" (binary_expression "puVar8 + (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 "puVar18 = puVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "puVar18 = puVar18 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "puVar18 + (uint)bVar25 * -2 + 1" (binary_expression "puVar18 + (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 "*(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;" (assignment_expression "*(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 0x1d8)" * (cast_expression "(uint *)(iVar7 + 0x1d8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1d8)" ( (binary_expression "iVar7 + 0x1d8" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 0x1d8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 0x1d8)" * (cast_expression "(uint *)(iVar7 + 0x1d8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1d8)" ( (binary_expression "iVar7 + 0x1d8" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x1c4) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1c4) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x1c4)" * (cast_expression "(undefined4 *)(iVar7 + 0x1c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c4)" ( (binary_expression "iVar7 + 0x1c4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70" (pointer_expression "*(undefined4 *)(iVar7 + 0x1d0)" * (cast_expression "(undefined4 *)(iVar7 + 0x1d0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1d0)" ( (binary_expression "iVar7 + 0x1d0" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }" if (parenthesized_expression "((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0))" ( (binary_expression "(DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)" (parenthesized_expression "(DAT_001d02b4 < 0)" ( (binary_expression "DAT_001d02b4 < 0" identifier < number_literal) )) && (parenthesized_expression "((DAT_001d13e1 & 0x60) == 0)" ( (binary_expression "(DAT_001d13e1 & 0x60) == 0" (parenthesized_expression "(DAT_001d13e1 & 0x60)" ( (binary_expression "DAT_001d13e1 & 0x60" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }" { (if_statement "if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" if (parenthesized_expression "((DAT_001d13e0 & 3) == 2)" ( (binary_expression "(DAT_001d13e0 & 3) == 2" (parenthesized_expression "(DAT_001d13e0 & 3)" ( (binary_expression "DAT_001d13e0 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      DAT_001d02b4 = 1;\n    }" { (expression_statement "DAT_001d02b4 = 1;" (assignment_expression "DAT_001d02b4 = 1" identifier = number_literal) ;) }) (else_clause "else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" else (if_statement "if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" if (parenthesized_expression "(DAT_001d06bc != 0)" ( (binary_expression "DAT_001d06bc != 0" identifier != number_literal) )) (compound_statement "{\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" { (expression_statement "iVar7 = DAT_001d06bc;" (assignment_expression "iVar7 = DAT_001d06bc" identifier = identifier) ;) (do_statement "do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);" do (compound_statement "{\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      }" { (expression_statement "local_20[0] = 0;" (assignment_expression "local_20[0] = 0" (subscript_expression "local_20[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);" (call_expression "bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20)" identifier (argument_list "(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20)" ( (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" * (cast_expression "(undefined4 *)(iVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "iVar17 = DAT_001d1414;" (assignment_expression "iVar17 = DAT_001d1414" identifier = identifier) ;) (if_statement "if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }" if (parenthesized_expression "(local_20[0] != 0)" ( (binary_expression "local_20[0] != 0" (subscript_expression "local_20[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          DAT_001d02b4 = 1;\n          break;\n        }" { (expression_statement "DAT_001d02b4 = 1;" (assignment_expression "DAT_001d02b4 = 1" identifier = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "iVar7 = *(int *)(iVar7 + 0x18);" (assignment_expression "iVar7 = *(int *)(iVar7 + 0x18)" identifier = (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) })))) })) (expression_statement "FUN_0005fed0(iVar17);" (call_expression "FUN_0005fed0(iVar17)" identifier (argument_list "(iVar17)" ( identifier ))) ;) (expression_statement "FUN_0005e960(DAT_001d1414,&DAT_001d13e0);" (call_expression "FUN_0005e960(DAT_001d1414,&DAT_001d13e0)" identifier (argument_list "(DAT_001d1414,&DAT_001d13e0)" ( identifier , (pointer_expression "&DAT_001d13e0" & identifier) ))) ;) (if_statement "if (DAT_001d1448 != 0) {\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }" if (parenthesized_expression "(DAT_001d1448 != 0)" ( (binary_expression "DAT_001d1448 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }" { (expression_statement "iVar7 = FUN_00052dd0();" (assignment_expression "iVar7 = FUN_00052dd0()" identifier = (call_expression "FUN_00052dd0()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar13 = "_head_";" (assignment_expression "pcVar13 = "_head_"" identifier = (string_literal ""_head_"" " string_content ")) ;) (if_statement "if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar13 = "__head_";\n    }" { (expression_statement "pcVar13 = "__head_";" (assignment_expression "pcVar13 = "__head_"" identifier = (string_literal ""__head_"" " string_content ")) ;) })) (expression_statement "FUN_0005ce60(pcVar13,FUN_00052680);" (call_expression "FUN_0005ce60(pcVar13,FUN_00052680)" identifier (argument_list "(pcVar13,FUN_00052680)" ( identifier , identifier ))) ;) })) (if_statement "if (DAT_001cfc6c != 0) {\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }" if (parenthesized_expression "(DAT_001cfc6c != 0)" ( (binary_expression "DAT_001cfc6c != 0" identifier != number_literal) )) (compound_statement "{\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }" { (if_statement "if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }" if (parenthesized_expression "(DAT_001d1144 != 0)" ( (binary_expression "DAT_001d1144 != 0" identifier != number_literal) )) (compound_statement "{\n      puts("pep_fixup_stdcalls");\n    }" { (expression_statement "puts("pep_fixup_stdcalls");" (call_expression "puts("pep_fixup_stdcalls")" identifier (argument_list "("pep_fixup_stdcalls")" ( (string_literal ""pep_fixup_stdcalls"" " string_content ") ))) ;) })) (for_statement "for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }" for ( (assignment_expression "iVar7 = *(int *)(DAT_001d1400 + 0x1c)" identifier = (pointer_expression "*(int *)(DAT_001d1400 + 0x1c)" * (cast_expression "(int *)(DAT_001d1400 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1400 + 0x1c)" ( (binary_expression "DAT_001d1400 + 0x1c" identifier + number_literal) ))))) ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = *(int *)(iVar7 + 0x10)" identifier = (pointer_expression "*(int *)(iVar7 + 0x10)" * (cast_expression "(int *)(iVar7 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) ))))) ) (compound_statement "{\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }" { (if_statement "if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;" if (parenthesized_expression "(*(char *)(iVar7 + 0xc) != '\x01')" ( (binary_expression "*(char *)(iVar7 + 0xc) != '\x01'" (pointer_expression "*(char *)(iVar7 + 0xc)" * (cast_expression "(char *)(iVar7 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) != (char_literal "'\x01'" ' escape_sequence ')) )) (goto_statement "goto LAB_00053dd0;" goto statement_identifier ;)) (expression_statement "pcVar13 = *(char **)(iVar7 + 4);" (assignment_expression "pcVar13 = *(char **)(iVar7 + 4)" identifier = (pointer_expression "*(char **)(iVar7 + 4)" * (cast_expression "(char **)(iVar7 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }" if (parenthesized_expression "(*pcVar13 == '@')" ( (binary_expression "*pcVar13 == '@'" (pointer_expression "*pcVar13" * identifier) == (char_literal "'@'" ' character ')) )) (compound_statement "{\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }" { (expression_statement "pcVar13 = (char *)xstrdup(pcVar13);" (assignment_expression "pcVar13 = (char *)xstrdup(pcVar13)" identifier = (cast_expression "(char *)xstrdup(pcVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))))) ;) (expression_statement "*pcVar13 = '_';" (assignment_expression "*pcVar13 = '_'" (pointer_expression "*pcVar13" * identifier) = (char_literal "'_'" ' character ')) ;) (labeled_statement "LAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);" statement_identifier : (expression_statement "pcVar11 = strchr(pcVar13,0x40);" (assignment_expression "pcVar11 = strchr(pcVar13,0x40)" identifier = (call_expression "strchr(pcVar13,0x40)" identifier (argument_list "(pcVar13,0x40)" ( identifier , number_literal )))) ;)) (if_statement "if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }" if (parenthesized_expression "(pcVar11 != (char *)0x0)" ( (binary_expression "pcVar11 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *pcVar11 = '\0';\n        }" { (expression_statement "*pcVar11 = '\0';" (assignment_expression "*pcVar11 = '\0'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);" (assignment_expression "iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1)" identifier = (call_expression "bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1)" identifier (argument_list "(DAT_001d1400,pcVar13,0,0,1)" ( identifier , identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }" if (parenthesized_expression "((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03'))" ( (binary_expression "(iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')" (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(char *)(iVar17 + 0xc) == '\x03')" ( (binary_expression "*(char *)(iVar17 + 0xc) == '\x03'" (pointer_expression "*(char *)(iVar17 + 0xc)" * (cast_expression "(char *)(iVar17 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0xc)" ( (binary_expression "iVar17 + 0xc" identifier + number_literal) )))) == (char_literal "'\x03'" ' escape_sequence ')) ))) )) (compound_statement "{\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }" { (expression_statement "uVar12 = *(undefined4 *)(iVar17 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(iVar17 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(iVar17 + 0x18)" * (cast_expression "(undefined4 *)(iVar17 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x18)" ( (binary_expression "iVar17 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)(iVar17 + 0x1c);" (assignment_expression "uVar15 = *(undefined4 *)(iVar17 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(iVar17 + 0x1c)" * (cast_expression "(undefined4 *)(iVar17 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x1c)" ( (binary_expression "iVar17 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar7 + 0xc) = 3;" (assignment_expression "*(undefined1 *)(iVar7 + 0xc) = 3" (pointer_expression "*(undefined1 *)(iVar7 + 0xc)" * (cast_expression "(undefined1 *)(iVar7 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar3 = *(undefined4 *)(iVar17 + 0x14);" (assignment_expression "uVar3 = *(undefined4 *)(iVar17 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(iVar17 + 0x14)" * (cast_expression "(undefined4 *)(iVar17 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "bVar24 = DAT_001cfc6c == -1;" (assignment_expression "bVar24 = DAT_001cfc6c == -1" identifier = (binary_expression "DAT_001cfc6c == -1" identifier == number_literal)) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x18) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x1c) = uVar15;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1c) = uVar15" (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" * (cast_expression "(undefined4 *)(iVar7 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(iVar7 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(iVar7 + 0x14)" * (cast_expression "(undefined4 *)(iVar7 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }" { (expression_statement "uVar12 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(iVar7 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);" (assignment_expression "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier = (call_expression "dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier (argument_list "(0,"warning: resolving %s by linking to %s\n",5)" ( number_literal , (string_literal ""warning: resolving %s by linking to %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (goto_statement "goto LAB_00053e6d;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }" else (compound_statement "{\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }" { (expression_statement "pcVar11 = strchr(pcVar13,0x40);" (assignment_expression "pcVar11 = strchr(pcVar13,0x40)" identifier = (call_expression "strchr(pcVar13,0x40)" identifier (argument_list "(pcVar13,0x40)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }" if (parenthesized_expression "(pcVar11 != (char *)0x0)" ( (binary_expression "pcVar11 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }" { (expression_statement "pcVar13 = (char *)xstrdup(pcVar13);" (assignment_expression "pcVar13 = (char *)xstrdup(pcVar13)" identifier = (cast_expression "(char *)xstrdup(pcVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))))) ;) (goto_statement "goto LAB_00053f0f;" goto statement_identifier ;) })) (expression_statement "DAT_001d0dec = 0;" (assignment_expression "DAT_001d0dec = 0" identifier = number_literal) ;) (expression_statement "bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);" (call_expression "bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13)" identifier (argument_list "(DAT_001d1400,FUN_00052140,pcVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar17 = DAT_001d0dec;" (assignment_expression "iVar17 = DAT_001d0dec" identifier = identifier) ;) (if_statement "if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }" if (parenthesized_expression "(DAT_001d0dec != 0)" ( (binary_expression "DAT_001d0dec != 0" identifier != number_literal) )) (compound_statement "{\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }" { (expression_statement "uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18)" identifier = (pointer_expression "*(undefined4 *)(DAT_001d0dec + 0x18)" * (cast_expression "(undefined4 *)(DAT_001d0dec + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d0dec + 0x18)" ( (binary_expression "DAT_001d0dec + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);" (assignment_expression "uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(DAT_001d0dec + 0x1c)" * (cast_expression "(undefined4 *)(DAT_001d0dec + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d0dec + 0x1c)" ( (binary_expression "DAT_001d0dec + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar7 + 0xc) = 3;" (assignment_expression "*(undefined1 *)(iVar7 + 0xc) = 3" (pointer_expression "*(undefined1 *)(iVar7 + 0xc)" * (cast_expression "(undefined1 *)(iVar7 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar24 = DAT_001cfc6c != -1;" (assignment_expression "bVar24 = DAT_001cfc6c != -1" identifier = (binary_expression "DAT_001cfc6c != -1" identifier != number_literal)) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x18) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar12 = *(undefined4 *)(iVar17 + 0x14);" (assignment_expression "uVar12 = *(undefined4 *)(iVar17 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(iVar17 + 0x14)" * (cast_expression "(undefined4 *)(iVar17 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x1c) = uVar15;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1c) = uVar15" (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" * (cast_expression "(undefined4 *)(iVar7 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 0x14) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x14) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x14)" * (cast_expression "(undefined4 *)(iVar7 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (bVar24) goto LAB_00053dd0;" if (parenthesized_expression "(bVar24)" ( identifier )) (goto_statement "goto LAB_00053dd0;" goto statement_identifier ;)) (expression_statement "pcVar13 = *(char **)(iVar17 + 4);" (assignment_expression "pcVar13 = *(char **)(iVar17 + 4)" identifier = (pointer_expression "*(char **)(iVar17 + 4)" * (cast_expression "(char **)(iVar17 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar17 + 4)" ( (binary_expression "iVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(iVar7 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);" (assignment_expression "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier = (call_expression "dcgettext(0,"warning: resolving %s by linking to %s\n",5)" identifier (argument_list "(0,"warning: resolving %s by linking to %s\n",5)" ( number_literal , (string_literal ""warning: resolving %s by linking to %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (labeled_statement "LAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);" statement_identifier : (expression_statement "FUN_00034d20(uVar15,uVar12,pcVar13);" (call_expression "FUN_00034d20(uVar15,uVar12,pcVar13)" identifier (argument_list "(uVar15,uVar12,pcVar13)" ( identifier , identifier , identifier ))) ;)) (if_statement "if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }" if (parenthesized_expression "(DAT_001d0de0 == 0)" ( (binary_expression "DAT_001d0de0 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }" { (expression_statement "DAT_001d0de0 = 1;" (assignment_expression "DAT_001d0de0 = 1" identifier = number_literal) ;) (expression_statement "uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5)" identifier = (call_expression "dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5)" identifier (argument_list "(0,"Use --enable-stdcall-fixup to disable these warnings\n",5)" ( number_literal , (string_literal ""Use --enable-stdcall-fixup to disable these warnings\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" identifier = (call_expression "dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" identifier (argument_list "(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" ( number_literal , (string_literal ""Use --disable-stdcall-fixup to disable these fixups\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) })) })) }))) (labeled_statement "LAB_00053dd0:" statement_identifier : (expression_statement "" ;)) })) })) (if_statement "if ((DAT_001d13e0 & 3) != 2) {\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }" if (parenthesized_expression "((DAT_001d13e0 & 3) != 2)" ( (binary_expression "(DAT_001d13e0 & 3) != 2" (parenthesized_expression "(DAT_001d13e0 & 3)" ( (binary_expression "DAT_001d13e0 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }" { (expression_statement "FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);" (call_expression "FUN_0005ff40(DAT_001d1414,&DAT_001d13e0)" identifier (argument_list "(DAT_001d1414,&DAT_001d13e0)" ( identifier , (pointer_expression "&DAT_001d13e0" & identifier) ))) ;) })) (expression_statement "local_40 = DAT_001d06bc;" (assignment_expression "local_40 = DAT_001d06bc" identifier = identifier) ;) (if_statement "if (DAT_001d06bc != 0) {\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }" if (parenthesized_expression "(DAT_001d06bc != 0)" ( (binary_expression "DAT_001d06bc != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }" { (do_statement "do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);" do (compound_statement "{\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    }" { (expression_statement "iVar7 = *(int *)(local_40 + 0x10);" (assignment_expression "iVar7 = *(int *)(local_40 + 0x10)" identifier = (pointer_expression "*(int *)(local_40 + 0x10)" * (cast_expression "(int *)(local_40 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }" if (parenthesized_expression "((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0))" ( (binary_expression "(*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)" (parenthesized_expression "(*(int *)(iVar7 + 0x8c) != 0)" ( (binary_expression "*(int *)(iVar7 + 0x8c) != 0" (pointer_expression "*(int *)(iVar7 + 0x8c)" * (cast_expression "(int *)(iVar7 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x8c)" ( (binary_expression "iVar7 + 0x8c" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)" ( (comma_expression "local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0" (assignment_expression "local_38 = *(undefined4 **)(iVar7 + 0x60)" identifier = (pointer_expression "*(undefined4 **)(iVar7 + 0x60)" * (cast_expression "(undefined4 **)(iVar7 + 0x60)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x60)" ( (binary_expression "iVar7 + 0x60" identifier + number_literal) ))))) , (binary_expression "local_38 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "bVar23 = true;" (assignment_expression "bVar23 = true" identifier = true) ;) (expression_statement "puVar8 = local_38;" (assignment_expression "puVar8 = local_38" identifier = identifier) ;) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (do_statement "do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);" do (compound_statement "{\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        }" { (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "iVar16 = 9;" (assignment_expression "iVar16 = 9" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)*puVar8;" (assignment_expression "pbVar19 = (byte *)*puVar8" identifier = (cast_expression "(byte *)*puVar8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "pbVar20 = (byte *)".idata$2";" (assignment_expression "pbVar20 = (byte *)".idata$2"" identifier = (cast_expression "(byte *)".idata$2"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".idata$2"" " string_content "))) ;) (do_statement "do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);" do (compound_statement "{\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar16 == 0) break;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar16 = iVar16 + -1;" (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar19 < *pbVar20;" (assignment_expression "bVar21 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar23 = *pbVar19 == *pbVar20;" (assignment_expression "bVar23 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * 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 "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (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 "(bVar23)" ( identifier )) ;) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar23 = (!bVar21 && !bVar23) == bVar21;" (assignment_expression "bVar23 = (!bVar21 && !bVar23) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" ( (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" identifier = true) ;) (if_statement "if (!bVar23) {\n            bVar21 = bVar24;\n          }" if (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) (compound_statement "{\n            bVar21 = bVar24;\n          }" { (expression_statement "bVar21 = bVar24;" (assignment_expression "bVar21 = bVar24" identifier = identifier) ;) })) (expression_statement "iVar16 = 7;" (assignment_expression "iVar16 = 7" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)*puVar8;" (assignment_expression "pbVar19 = (byte *)*puVar8" identifier = (cast_expression "(byte *)*puVar8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "pbVar20 = (byte *)".idata$";" (assignment_expression "pbVar20 = (byte *)".idata$"" identifier = (cast_expression "(byte *)".idata$"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".idata$"" " string_content "))) ;) (do_statement "do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);" do (compound_statement "{\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          }" { (if_statement "if (iVar16 == 0) break;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar16 = iVar16 + -1;" (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar19 < *pbVar20;" (assignment_expression "bVar22 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar23 = *pbVar19 == *pbVar20;" (assignment_expression "bVar23 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * 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 "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (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 "(bVar23)" ( identifier )) ;) (expression_statement "bVar6 = 1;" (assignment_expression "bVar6 = 1" identifier = number_literal) ;) (if_statement "if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }" if (parenthesized_expression "((!bVar22 && !bVar23) != bVar22)" ( (binary_expression "(!bVar22 && !bVar23) != bVar22" (parenthesized_expression "(!bVar22 && !bVar23)" ( (binary_expression "!bVar22 && !bVar23" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) != identifier) )) (compound_statement "{\n            bVar6 = bVar4;\n          }" { (expression_statement "bVar6 = bVar4;" (assignment_expression "bVar6 = bVar4" identifier = identifier) ;) })) (expression_statement "iVar17 = iVar17 + puVar8[0x19];" (assignment_expression "iVar17 = iVar17 + puVar8[0x19]" identifier = (binary_expression "iVar17 + puVar8[0x19]" identifier + (subscript_expression "puVar8[0x19]" identifier [ number_literal ]))) ;) (expression_statement "puVar8 = (undefined4 *)puVar8[3];" (assignment_expression "puVar8 = (undefined4 *)puVar8[3]" identifier = (cast_expression "(undefined4 *)puVar8[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[3]" identifier [ number_literal ]))) ;) (expression_statement "bVar23 = puVar8 == (undefined4 *)0x0;" (assignment_expression "bVar23 = puVar8 == (undefined4 *)0x0" identifier = (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar4 = bVar6;" (assignment_expression "bVar4 = bVar6" identifier = identifier) ;) (expression_statement "bVar24 = bVar21;" (assignment_expression "bVar24 = bVar21" identifier = identifier) ;) }) while (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) ;) (if_statement "if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }" if (parenthesized_expression "(((bool)(bVar6 & iVar17 != 0)) && (!bVar21))" ( (binary_expression "((bool)(bVar6 & iVar17 != 0)) && (!bVar21)" (parenthesized_expression "((bool)(bVar6 & iVar17 != 0))" ( (cast_expression "(bool)(bVar6 & iVar17 != 0)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar6 & iVar17 != 0)" ( (binary_expression "bVar6 & iVar17 != 0" identifier & (binary_expression "iVar17 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) ))) )) (compound_statement "{\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }" { (while_statement "while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }" while (parenthesized_expression "(iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7)" ( (comma_expression "iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7" (assignment_expression "iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38)" identifier = (call_expression "bfd_get_reloc_upper_bound(iVar7,local_38)" identifier (argument_list "(iVar7,local_38)" ( identifier , identifier )))) , (binary_expression "0 < iVar7" number_literal < identifier)) )) (compound_statement "{\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }" { (expression_statement "iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));" (assignment_expression "iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10))" identifier = (call_expression "bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10))" identifier (argument_list "(*(undefined4 *)(local_40 + 0x10))" ( (pointer_expression "*(undefined4 *)(local_40 + 0x10)" * (cast_expression "(undefined4 *)(local_40 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }" { (expression_statement "uVar12 = *(undefined4 *)(local_40 + 0x10);" (assignment_expression "uVar12 = *(undefined4 *)(local_40 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(local_40 + 0x10)" * (cast_expression "(undefined4 *)(local_40 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);" (assignment_expression "uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5)" identifier (argument_list "(0,"%F%P: %pB: could not read symbols: %E\n",5)" ( number_literal , (string_literal ""%F%P: %pB: could not read symbols: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar15,uVar12);" (call_expression "FUN_00034d20(uVar15,uVar12)" identifier (argument_list "(uVar15,uVar12)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);" (assignment_expression "uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78)" * (cast_expression "(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_40 + 0x10) + 0x78)" ( (binary_expression "*(int *)(local_40 + 0x10) + 0x78" (pointer_expression "*(int *)(local_40 + 0x10)" * (cast_expression "(int *)(local_40 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar8 = (undefined4 *)xmalloc(iVar7);" (assignment_expression "puVar8 = (undefined4 *)xmalloc(iVar7)" identifier = (cast_expression "(undefined4 *)xmalloc(iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(iVar7)" identifier (argument_list "(iVar7)" ( identifier ))))) ;) (expression_statement "iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);" (assignment_expression "iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12)" identifier = (call_expression "bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12)" identifier (argument_list "(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12)" ( (pointer_expression "*(undefined4 *)(local_40 + 0x10)" * (cast_expression "(undefined4 *)(local_40 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) )))) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }" { (expression_statement "free(puVar8);" (call_expression "free(puVar8)" identifier (argument_list "(puVar8)" ( identifier ))) ;) (expression_statement "uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);" (assignment_expression "uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: unable to process relocs: %E\n",5)" identifier (argument_list "(0,"%X%P: unable to process relocs: %E\n",5)" ( number_literal , (string_literal ""%X%P: unable to process relocs: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar18 = puVar8;" (assignment_expression "puVar18 = puVar8" identifier = identifier) ;) (if_statement "if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }" { (do_statement "do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);" do (compound_statement "{\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              }" { (if_statement "if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }" if (parenthesized_expression "((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03'))" ( (binary_expression "(((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')" (parenthesized_expression "(((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0))" ( (binary_expression "((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)" (parenthesized_expression "((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0)" ( (binary_expression "(*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0" (parenthesized_expression "(*(byte *)(**(int **)*puVar18 + 0x10) & 1)" ( (binary_expression "*(byte *)(**(int **)*puVar18 + 0x10) & 1" (pointer_expression "*(byte *)(**(int **)*puVar18 + 0x10)" * (cast_expression "(byte *)(**(int **)*puVar18 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)*puVar18 + 0x10)" ( (binary_expression "**(int **)*puVar18 + 0x10" (pointer_expression "**(int **)*puVar18" * (pointer_expression "*(int **)*puVar18" * (cast_expression "(int **)*puVar18" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar18" * identifier)))) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)" ( (comma_expression "iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0" (assignment_expression "iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)" identifier = (call_expression "bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)" identifier (argument_list "(DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)" ( identifier , (pointer_expression "*(undefined4 *)(**(int **)*puVar18 + 4)" * (cast_expression "(undefined4 *)(**(int **)*puVar18 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)*puVar18 + 4)" ( (binary_expression "**(int **)*puVar18 + 4" (pointer_expression "**(int **)*puVar18" * (pointer_expression "*(int **)*puVar18" * (cast_expression "(int **)*puVar18" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar18" * identifier)))) + number_literal) )))) , number_literal , number_literal , number_literal )))) , (binary_expression "iVar17 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(*(char *)(iVar17 + 0xc) == '\x03')" ( (binary_expression "*(char *)(iVar17 + 0xc) == '\x03'" (pointer_expression "*(char *)(iVar17 + 0xc)" * (cast_expression "(char *)(iVar17 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0xc)" ( (binary_expression "iVar17 + 0xc" identifier + number_literal) )))) == (char_literal "'\x03'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }" { (expression_statement "puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);" (assignment_expression "puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac)" * (cast_expression "(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar17 + 0x14) + 0xac)" ( (binary_expression "*(int *)(iVar17 + 0x14) + 0xac" (pointer_expression "*(int *)(iVar17 + 0x14)" * (cast_expression "(int *)(iVar17 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar9 = (undefined4 *)puVar2[0x23];" (assignment_expression "puVar9 = (undefined4 *)puVar2[0x23]" identifier = (cast_expression "(undefined4 *)puVar2[0x23]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[0x23]" identifier [ number_literal ]))) ;) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }" if (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" ( (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    puVar9 = puVar2;\n                  }" { (expression_statement "puVar9 = puVar2;" (assignment_expression "puVar9 = puVar2" identifier = identifier) ;) })) (expression_statement "pcVar13 = (char *)*puVar9;" (assignment_expression "pcVar13 = (char *)*puVar9" identifier = (cast_expression "(char *)*puVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) (expression_statement "iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;" (assignment_expression "iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)" identifier = (call_expression "filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)" identifier (argument_list "(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)" ( (pointer_expression "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" * (pointer_expression "*(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" * (cast_expression "(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(local_40 + 0x10) + 0x8c)" ( (binary_expression "*(int *)(local_40 + 0x10) + 0x8c" (pointer_expression "*(int *)(local_40 + 0x10)" * (cast_expression "(int *)(local_40 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) )))) + number_literal) ))))) , identifier )))) ;) (if_statement "if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }" { (expression_statement "sVar10 = strlen(pcVar13);" (assignment_expression "sVar10 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "pcVar11 = (char *)xmalloc(sVar10 + 1);" (assignment_expression "pcVar11 = (char *)xmalloc(sVar10 + 1)" identifier = (cast_expression "(char *)xmalloc(sVar10 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar10 + 1)" identifier (argument_list "(sVar10 + 1)" ( (binary_expression "sVar10 + 1" identifier + number_literal) ))))) ;) (expression_statement "strcpy(pcVar11,pcVar13);" (call_expression "strcpy(pcVar11,pcVar13)" identifier (argument_list "(pcVar11,pcVar13)" ( identifier , identifier ))) ;) (expression_statement "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;" (assignment_expression "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11" (pointer_expression "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" * (pointer_expression "*(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" * (cast_expression "(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(local_40 + 0x10) + 0x8c)" ( (binary_expression "*(int *)(local_40 + 0x10) + 0x8c" (pointer_expression "*(int *)(local_40 + 0x10)" * (cast_expression "(int *)(local_40 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) )))) + number_literal) ))))) = identifier) ;) })) })) (expression_statement "puVar18 = puVar18 + 1;" (assignment_expression "puVar18 = puVar18 + 1" identifier = (binary_expression "puVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar18 != puVar8 + iVar7)" ( (binary_expression "puVar18 != puVar8 + iVar7" identifier != (binary_expression "puVar8 + iVar7" identifier + identifier)) )) ;) })) (expression_statement "free(puVar8);" (call_expression "free(puVar8)" identifier (argument_list "(puVar8)" ( identifier ))) ;) (expression_statement "local_38 = (undefined4 *)local_38[3];" (assignment_expression "local_38 = (undefined4 *)local_38[3]" identifier = (cast_expression "(undefined4 *)local_38[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_38[3]" identifier [ number_literal ]))) ;) (if_statement "if (local_38 == (undefined4 *)0x0) break;" if (parenthesized_expression "(local_38 == (undefined4 *)0x0)" ( (binary_expression "local_38 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = *(int *)(local_40 + 0x10);" (assignment_expression "iVar7 = *(int *)(local_40 + 0x10)" identifier = (pointer_expression "*(int *)(local_40 + 0x10)" * (cast_expression "(int *)(local_40 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) ))))) ;) })) })) })) (expression_statement "local_40 = *(int *)(local_40 + 0x18);" (assignment_expression "local_40 = *(int *)(local_40 + 0x18)" identifier = (pointer_expression "*(int *)(local_40 + 0x18)" * (cast_expression "(int *)(local_40 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0x18)" ( (binary_expression "local_40 + 0x18" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) ;) (expression_statement "local_50 = DAT_001d06bc;" (assignment_expression "local_50 = DAT_001d06bc" identifier = identifier) ;) (if_statement "if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }" if (parenthesized_expression "(DAT_001d06bc != 0)" ( (binary_expression "DAT_001d06bc != 0" identifier != number_literal) )) (compound_statement "{\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }" { (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);" do (compound_statement "{\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      }" { (expression_statement "iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];" (assignment_expression "iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23]" identifier = (subscript_expression "(*(undefined4 **)(local_50 + 0x10))[0x23]" (parenthesized_expression "(*(undefined4 **)(local_50 + 0x10))" ( (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) )))) )) [ number_literal ])) ;) (if_statement "if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }" { (expression_statement "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);" (assignment_expression "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" identifier = (call_expression "strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" identifier (argument_list "((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" ( (cast_expression "(char *)**(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_50 + 0x10)" * (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) )))))) , number_literal )))) ;) (expression_statement "iVar16 = local_50;" (assignment_expression "iVar16 = local_50" identifier = identifier) ;) (if_statement "if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }" if (parenthesized_expression "(iVar7 == iVar17)" ( (binary_expression "iVar7 == iVar17" identifier == identifier) )) (compound_statement "{\n            if (!bVar24) goto LAB_00053a60;\n          }" { (if_statement "if (!bVar24) goto LAB_00053a60;" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (goto_statement "goto LAB_00053a60;" goto statement_identifier ;)) }) (else_clause "else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }" else (compound_statement "{\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }" { (while_statement "while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }" while (parenthesized_expression "((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)))" ( (parenthesized_expression "(iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))" ( (comma_expression "iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)" (assignment_expression "iVar7 = local_50" identifier = identifier) , (binary_expression "pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)" (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)" ( (comma_expression "iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0" (assignment_expression "iVar14 = filename_cmp(pcVar13,".dll")" identifier = (call_expression "filename_cmp(pcVar13,".dll")" identifier (argument_list "(pcVar13,".dll")" ( identifier , (string_literal "".dll"" " string_content ") )))) , (binary_expression "iVar14 != 0" identifier != number_literal)) )))) )) )) (compound_statement "{\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }" { (expression_statement "iVar16 = *(int *)(iVar16 + 0x18);" (assignment_expression "iVar16 = *(int *)(iVar16 + 0x18)" identifier = (pointer_expression "*(int *)(iVar16 + 0x18)" * (cast_expression "(int *)(iVar16 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x18)" ( (binary_expression "iVar16 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }" { (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" identifier = identifier) ;) (goto_statement "goto LAB_00053a60;" goto statement_identifier ;) })) (if_statement "if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;" if (parenthesized_expression "(iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23])" ( (binary_expression "iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]" identifier != (subscript_expression "(*(undefined4 **)(iVar16 + 0x10))[0x23]" (parenthesized_expression "(*(undefined4 **)(iVar16 + 0x10))" ( (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" * (cast_expression "(undefined4 **)(iVar16 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) )))) )) [ number_literal ])) )) (break_statement "break;" break ;)) (expression_statement "pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);" (assignment_expression "pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e)" identifier = (call_expression "strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e)" identifier (argument_list "((char *)**(undefined4 **)(iVar16 + 0x10),0x2e)" ( (cast_expression "(char *)**(undefined4 **)(iVar16 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar16 + 0x10)" * (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" * (cast_expression "(undefined4 **)(iVar16 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) )))))) , number_literal )))) ;) })) (do_statement "do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);" do (compound_statement "{\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            }" { (if_statement "if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;" if (parenthesized_expression "(iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23])" ( (binary_expression "iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]" identifier != (subscript_expression "(*(undefined4 **)(iVar7 + 0x10))[0x23]" (parenthesized_expression "(*(undefined4 **)(iVar7 + 0x10))" ( (pointer_expression "*(undefined4 **)(iVar7 + 0x10)" * (cast_expression "(undefined4 **)(iVar7 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) )) [ number_literal ])) )) (break_statement "break;" break ;)) (expression_statement "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);" (assignment_expression "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10)" identifier = (cast_expression "(char *)**(undefined4 **)(iVar7 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar7 + 0x10)" * (pointer_expression "*(undefined4 **)(iVar7 + 0x10)" * (cast_expression "(undefined4 **)(iVar7 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) ))))))) ;) (expression_statement "pcVar11 = strrchr(pcVar13,0x2e);" (assignment_expression "pcVar11 = strrchr(pcVar13,0x2e)" identifier = (call_expression "strrchr(pcVar13,0x2e)" identifier (argument_list "(pcVar13,0x2e)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }" if (parenthesized_expression "(pcVar11 == (char *)0x0)" ( (binary_expression "pcVar11 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }" { (labeled_statement "LAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);" statement_identifier : (expression_statement "iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);" (assignment_expression "iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13)" identifier = (call_expression "filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13)" identifier (argument_list "(**(undefined4 **)(iVar16 + 0x10),pcVar13)" ( (pointer_expression "**(undefined4 **)(iVar16 + 0x10)" * (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" * (cast_expression "(undefined4 **)(iVar16 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) ))))) , identifier )))) ;)) (if_statement "if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }" { (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" identifier = identifier) ;) (goto_statement "goto LAB_00053a60;" goto statement_identifier ;) })) }) (else_clause "else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }" else (compound_statement "{\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }" { (expression_statement "iVar14 = filename_cmp(pcVar11,&DAT_00193d01);" (assignment_expression "iVar14 = filename_cmp(pcVar11,&DAT_00193d01)" identifier = (call_expression "filename_cmp(pcVar11,&DAT_00193d01)" identifier (argument_list "(pcVar11,&DAT_00193d01)" ( identifier , (pointer_expression "&DAT_00193d01" & identifier) )))) ;) (if_statement "if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }" { (expression_statement "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);" (assignment_expression "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10)" identifier = (cast_expression "(char *)**(undefined4 **)(iVar7 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar7 + 0x10)" * (pointer_expression "*(undefined4 **)(iVar7 + 0x10)" * (cast_expression "(undefined4 **)(iVar7 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) ))))))) ;) (goto_statement "goto LAB_00053b30;" goto statement_identifier ;) })) }))) (expression_statement "piVar1 = (int *)(iVar7 + 0x18);" (assignment_expression "piVar1 = (int *)(iVar7 + 0x18)" identifier = (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) ;) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) }) while (parenthesized_expression "(*piVar1 != 0)" ( (binary_expression "*piVar1 != 0" (pointer_expression "*piVar1" * identifier) != number_literal) )) ;) (expression_statement "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);" (assignment_expression "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" identifier = (call_expression "strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" identifier (argument_list "((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" ( (cast_expression "(char *)**(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_50 + 0x10)" * (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) )))))) , number_literal )))) ;) }))) (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" identifier = true) ;) (expression_statement "iVar16 = filename_cmp(pcVar13,".dll");" (assignment_expression "iVar16 = filename_cmp(pcVar13,".dll")" identifier = (call_expression "filename_cmp(pcVar13,".dll")" identifier (argument_list "(pcVar13,".dll")" ( identifier , (string_literal "".dll"" " string_content ") )))) ;) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" identifier = identifier) ;) (if_statement "if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }" { (expression_statement "puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];" (assignment_expression "puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18]" identifier = (cast_expression "(undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(local_50 + 0x10))[0x18]" (parenthesized_expression "(*(undefined4 **)(local_50 + 0x10))" ( (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }" if (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" ( (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar7 = 99;\n            }" { (expression_statement "iVar7 = 99;" (assignment_expression "iVar7 = 99" identifier = number_literal) ;) }) (else_clause "else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }" else (compound_statement "{\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }" { (expression_statement "bVar23 = true;" (assignment_expression "bVar23 = true" identifier = true) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (do_statement "do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);" do (compound_statement "{\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              }" { (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "iVar7 = 9;" (assignment_expression "iVar7 = 9" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)*puVar8;" (assignment_expression "pbVar19 = (byte *)*puVar8" identifier = (cast_expression "(byte *)*puVar8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "pbVar20 = (byte *)".idata$2";" (assignment_expression "pbVar20 = (byte *)".idata$2"" identifier = (cast_expression "(byte *)".idata$2"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".idata$2"" " string_content "))) ;) (do_statement "do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);" do (compound_statement "{\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar19 < *pbVar20;" (assignment_expression "bVar21 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar23 = *pbVar19 == *pbVar20;" (assignment_expression "bVar23 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * 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 "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (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 "(bVar23)" ( identifier )) ;) (if_statement "if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }" if (parenthesized_expression "((!bVar21 && !bVar23) == bVar21)" ( (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" ( (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier) )) (compound_statement "{\n                  bVar24 = true;\n                }" { (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" identifier = true) ;) })) (expression_statement "iVar16 = iVar16 + puVar8[0x19];" (assignment_expression "iVar16 = iVar16 + puVar8[0x19]" identifier = (binary_expression "iVar16 + puVar8[0x19]" identifier + (subscript_expression "puVar8[0x19]" identifier [ number_literal ]))) ;) (expression_statement "puVar8 = (undefined4 *)puVar8[3];" (assignment_expression "puVar8 = (undefined4 *)puVar8[3]" identifier = (cast_expression "(undefined4 *)puVar8[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[3]" identifier [ number_literal ]))) ;) (expression_statement "bVar23 = puVar8 == (undefined4 *)0x0;" (assignment_expression "bVar23 = puVar8 == (undefined4 *)0x0" identifier = (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }) while (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) ;) (expression_statement "iVar7 = 0x61;" (assignment_expression "iVar7 = 0x61" identifier = number_literal) ;) (if_statement "if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                iVar7 = (iVar16 < 1) + 0x62;\n              }" { (expression_statement "iVar7 = (iVar16 < 1) + 0x62;" (assignment_expression "iVar7 = (iVar16 < 1) + 0x62" identifier = (binary_expression "(iVar16 < 1) + 0x62" (parenthesized_expression "(iVar16 < 1)" ( (binary_expression "iVar16 < 1" identifier < number_literal) )) + number_literal)) ;) })) }))) (expression_statement "sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));" (assignment_expression "sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10))" identifier = (call_expression "strlen((char *)**(undefined4 **)(local_50 + 0x10))" identifier (argument_list "((char *)**(undefined4 **)(local_50 + 0x10))" ( (cast_expression "(char *)**(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_50 + 0x10)" * (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) )))))) )))) ;) (expression_statement "pcVar13 = (char *)xmalloc(sVar10 + 3);" (assignment_expression "pcVar13 = (char *)xmalloc(sVar10 + 3)" identifier = (cast_expression "(char *)xmalloc(sVar10 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar10 + 3)" identifier (argument_list "(sVar10 + 3)" ( (binary_expression "sVar10 + 3" identifier + number_literal) ))))) ;) (expression_statement "sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);" (call_expression "sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7)" identifier (argument_list "(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7)" ( identifier , (string_literal ""%s.%c"" " string_content ") , (pointer_expression "**(undefined4 **)(local_50 + 0x10)" * (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) ))))) , identifier ))) ;) (expression_statement "**(undefined4 **)(local_50 + 0x10) = pcVar13;" (assignment_expression "**(undefined4 **)(local_50 + 0x10) = pcVar13" (pointer_expression "**(undefined4 **)(local_50 + 0x10)" * (pointer_expression "*(undefined4 **)(local_50 + 0x10)" * (cast_expression "(undefined4 **)(local_50 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0x10)" ( (binary_expression "local_50 + 0x10" identifier + number_literal) ))))) = identifier) ;) (expression_statement "sVar10 = strlen(*(char **)(local_50 + 8));" (assignment_expression "sVar10 = strlen(*(char **)(local_50 + 8))" identifier = (call_expression "strlen(*(char **)(local_50 + 8))" identifier (argument_list "(*(char **)(local_50 + 8))" ( (pointer_expression "*(char **)(local_50 + 8)" * (cast_expression "(char **)(local_50 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 8)" ( (binary_expression "local_50 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar13 = (char *)xmalloc(sVar10 + 3);" (assignment_expression "pcVar13 = (char *)xmalloc(sVar10 + 3)" identifier = (cast_expression "(char *)xmalloc(sVar10 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar10 + 3)" identifier (argument_list "(sVar10 + 3)" ( (binary_expression "sVar10 + 3" identifier + number_literal) ))))) ;) (expression_statement "sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);" (call_expression "sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7)" identifier (argument_list "(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7)" ( identifier , (string_literal ""%s.%c"" " string_content ") , (pointer_expression "*(undefined4 *)(local_50 + 8)" * (cast_expression "(undefined4 *)(local_50 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 8)" ( (binary_expression "local_50 + 8" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "*(char **)(local_50 + 8) = pcVar13;" (assignment_expression "*(char **)(local_50 + 8) = pcVar13" (pointer_expression "*(char **)(local_50 + 8)" * (cast_expression "(char **)(local_50 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 8)" ( (binary_expression "local_50 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" identifier = true) ;) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" identifier = identifier) ;) })) })) (labeled_statement "LAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);" statement_identifier : (expression_statement "local_50 = *(int *)(local_50 + 0x18);" (assignment_expression "local_50 = *(int *)(local_50 + 0x18)" identifier = (pointer_expression "*(int *)(local_50 + 0x18)" * (cast_expression "(int *)(local_50 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 0x18)" ( (binary_expression "local_50 + 0x18" identifier + number_literal) ))))) ;)) }) while (parenthesized_expression "(local_50 != 0)" ( (binary_expression "local_50 != 0" identifier != number_literal) )) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (for_statement for ( ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == LIT) )) (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 = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 IDENT = IDENT) ;) (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 *)) ) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (break_statement break ;) })) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") ))) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (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 { (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_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)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 * (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) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })))) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto 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 + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 * IDENT) = (char_literal ' escape_sequence ')) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (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 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (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 IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto 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 + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) })) }))) (labeled_statement statement_identifier : (expression_statement ;)) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (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 = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (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 = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (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 = LIT) ;) (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 = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (unary_expression ! IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression LIT < IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT)))) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT)))) + LIT) )))) , LIT , LIT , LIT )))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (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 IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) , (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ])) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) , LIT )))) ;) })) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ])) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) , LIT )))) ;) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (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 = BOOL) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) }) while (parenthesized_expression ( (unary_expression ! IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) + LIT)) ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (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 *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_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 * (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 = (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 *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (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 IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) })) (return_statement return ;) })))
(function_definition "void FUN_000535a0(void)\n\n{\n  int *piVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  byte bVar4;\n  void *pvVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  size_t sVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_50;\n  int local_40;\n  undefined4 *local_38;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar25 = 0;\n  uStack_14 = 0x535a9;\n  FUN_00033940();\n  FUN_00052dd0();\n  if (DAT_001d1144 == 0) {\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }\n  iVar7 = DAT_001d1414;\n  if (*(int *)(DAT_001d1414 + 0xa0) != 0) {\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }\n  uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);\n  FUN_00034d20(uVar12,iVar7);\nLAB_00053690:\n  iVar17 = DAT_001d1414;\n  iVar7 = *(int *)(DAT_001d1414 + 0xa0);\n  puVar8 = &DAT_001d0e20;\n  puVar18 = (undefined4 *)(iVar7 + 0x7c);\n  for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }\n  *(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;\n  *(undefined4 *)(iVar7 + 0x1c4) = uVar12;\n  *(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;\n  if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }\n  FUN_0005fed0(iVar17);\n  FUN_0005e960(DAT_001d1414,&DAT_001d13e0);\n  if (DAT_001d1448 != 0) {\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }\n  if (DAT_001cfc6c != 0) {\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }\n  if ((DAT_001d13e0 & 3) != 2) {\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }\n  local_40 = DAT_001d06bc;\n  if (DAT_001d06bc != 0) {\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000535a0(void)" (identifier "FUN_000535a0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int *piVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  byte bVar4;\n  void *pvVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  size_t sVar10;\n  char *pcVar11;\n  undefined4 uVar12;\n  char *pcVar13;\n  int iVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_50;\n  int local_40;\n  undefined4 *local_38;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  bVar25 = 0;\n  uStack_14 = 0x535a9;\n  FUN_00033940();\n  FUN_00052dd0();\n  if (DAT_001d1144 == 0) {\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }\n  iVar7 = DAT_001d1414;\n  if (*(int *)(DAT_001d1414 + 0xa0) != 0) {\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }\n  uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);\n  FUN_00034d20(uVar12,iVar7);\nLAB_00053690:\n  iVar17 = DAT_001d1414;\n  iVar7 = *(int *)(DAT_001d1414 + 0xa0);\n  puVar8 = &DAT_001d0e20;\n  puVar18 = (undefined4 *)(iVar7 + 0x7c);\n  for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }\n  *(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;\n  *(undefined4 *)(iVar7 + 0x1c4) = uVar12;\n  *(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;\n  if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }\n  FUN_0005fed0(iVar17);\n  FUN_0005e960(DAT_001d1414,&DAT_001d13e0);\n  if (DAT_001d1448 != 0) {\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }\n  if (DAT_001cfc6c != 0) {\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }\n  if ((DAT_001d13e0 & 3) != 2) {\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }\n  local_40 = DAT_001d06bc;\n  if (DAT_001d06bc != 0) {\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "void *pvVar5;" (primitive_type "void") (pointer_declarator "*pvVar5" (* "*") (identifier "pvVar5")) (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "size_t sVar10;" (primitive_type "size_t") (identifier "sVar10") (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "undefined4 *puVar18;" (type_identifier "undefined4") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "bool bVar21;" (primitive_type "bool") (identifier "bVar21") (; ";")) (declaration "bool bVar22;" (primitive_type "bool") (identifier "bVar22") (; ";")) (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 "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "undefined4 *local_38;" (type_identifier "undefined4") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int local_20 [3];" (primitive_type "int") (array_declarator "local_20 [3]" (identifier "local_20") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" (identifier "bVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x535a9;" (assignment_expression "uStack_14 = 0x535a9" (identifier "uStack_14") (= "=") (number_literal "0x535a9")) (; ";")) (expression_statement "FUN_00033940();" (call_expression "FUN_00033940()" (identifier "FUN_00033940") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00052dd0();" (call_expression "FUN_00052dd0()" (identifier "FUN_00052dd0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (DAT_001d1144 == 0) {\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }\n  else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }" (if "if") (parenthesized_expression "(DAT_001d1144 == 0)" (( "(") (binary_expression "DAT_001d1144 == 0" (identifier "DAT_001d1144") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000535da:\n    puVar8 = DAT_001d141c;\n    if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }\n  }" ({ "{") (labeled_statement "LAB_000535da:\n    puVar8 = DAT_001d141c;" (statement_identifier "LAB_000535da") (: ":") (expression_statement "puVar8 = DAT_001d141c;" (assignment_expression "puVar8 = DAT_001d141c" (identifier "puVar8") (= "=") (identifier "DAT_001d141c")) (; ";"))) (if_statement "if (DAT_001d0dfc != (void *)0x0) {\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }" (if "if") (parenthesized_expression "(DAT_001d0dfc != (void *)0x0)" (( "(") (binary_expression "DAT_001d0dfc != (void *)0x0" (identifier "DAT_001d0dfc") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }\nLAB_000539a9:\n      free(DAT_001d0dfc);\n      DAT_001d0dfc = (void *)0x0;\n    }" ({ "{") (for_statement "for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }" (for "for") (( "(") (; ";") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar8 = (undefined4 *)puVar8[0x27]" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)puVar8[0x27]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[0x27]" (identifier "puVar8") ([ "[") (number_literal "0x27") (] "]")))) () ")") (compound_statement "{\n        if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }\n      }" ({ "{") (if_statement "if (*(int *)(puVar8[1] + 4) == 2) {\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }" (if "if") (parenthesized_expression "(*(int *)(puVar8[1] + 4) == 2)" (( "(") (binary_expression "*(int *)(puVar8[1] + 4) == 2" (pointer_expression "*(int *)(puVar8[1] + 4)" (* "*") (cast_expression "(int *)(puVar8[1] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8[1] + 4)" (( "(") (binary_expression "puVar8[1] + 4" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          iVar7 = FUN_00038960(DAT_001d0dfc);\n          if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }\n          uVar12 = dcgettext(0,pcVar13,5);\n          FUN_00034d20(uVar12);\n          break;\n        }" ({ "{") (expression_statement "iVar7 = FUN_00038960(DAT_001d0dfc);" (assignment_expression "iVar7 = FUN_00038960(DAT_001d0dfc)" (identifier "iVar7") (= "=") (call_expression "FUN_00038960(DAT_001d0dfc)" (identifier "FUN_00038960") (argument_list "(DAT_001d0dfc)" (( "(") (identifier "DAT_001d0dfc") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" ({ "{") (expression_statement "pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar13 = "%P: warning: unrecognized --build-id style ignored\n"" (identifier "pcVar13") (= "=") (string_literal ""%P: warning: unrecognized --build-id style ignored\n"" (" """) (string_content "%P: warning: unrecognized --build-id style ignored") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" (else "else") (compound_statement "{\n            iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );\n            iVar7 = DAT_001d1414;\n            if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }\n            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";\n          }" ({ "{") (expression_statement "iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               );" (assignment_expression "iVar17 = bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               )" (identifier "iVar17") (= "=") (call_expression "bfd_make_section_anyway_with_flags\n                               (puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               )" (identifier "bfd_make_section_anyway_with_flags") (argument_list "(puVar8,".buildid",\n                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   \n                               )" (( "(") (identifier "puVar8") (, ",") (string_literal "".buildid"" (" """) (string_content ".buildid") (" """)) (, ",") (string_literal "" SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    \n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    \n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   " (" """) (string_content " SORT_BY_INIT_PRIORITY(.dtors.*)))") (escape_sequence "\n") (string_content "    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))") (escape_sequence "\n") (string_content "    PROVIDE_HIDDEN (__fini_array_end = .);") (escape_sequence "\n") (string_content "  }") (escape_sequence "\n") (string_content "  .ctors          :") (escape_sequence "\n") (string_content "  {") (escape_sequence "\n") (string_content "    ") (escape_sequence "\n") (string_content "    KEEP (*crtbegin.o(.ctors))") (escape_sequence "\n") (string_content "    KEEP (*crtbegin?.o(.ctors))") (escape_sequence "\n") (string_content "    ") (escape_sequence "\n") (string_content "    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))") (escape_sequence "\n") (string_content "    KEEP (*(SORT(.ctors.*)))") (escape_sequence "\n") (string_content "    KEEP (*(.ctors))") (escape_sequence "\n") (string_content "  }") (escape_sequence "\n") (string_content "  .dtors          :") (escape_sequence "\n") (string_content "  {") (escape_sequence "\n") (string_content "    KEEP (*crtbegin.o(.dtors))") (escape_sequence "\n") (string_content "    KEEP (*crtbegin?.o(.dtors))") (escape_sequence "\n") (string_content "    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))") (escape_sequence "\n") (string_content "    KEEP (*(SORT(.dtors.*)))") (escape_sequence "\n") (string_content "    KEEP (*(.dtors))") (escape_sequence "\n") (string_content "  }") (escape_sequence "\n") (string_content "  .jcr            : { KEEP (*(.jcr)) }") (escape_sequence "\n") (string_content "  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }") (escape_sequence "\n") (string_content "  .dynamic        : { *(.dynamic) }") (escape_sequence "\n") (string_content "  .got            : { *(.got) *(.igot) }") (escape_sequence "\n") (string_content "  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);") (escape_sequence "\n") (string_content "  .got.plt        : { *(.got.plt)  *(.igot.plt) }") (escape_sequence "\n") (string_content "  .data           :") (escape_sequence "\n") (string_content "  {") (escape_sequence "\n") (string_content "    *(.data .data.* .gnu.linkonce.d.*)") (escape_sequence "\n") (string_content "    SORT(CONSTRUCTORS)") (escape_sequence "\n") (string_content "  }") (escape_sequence "\n") (string_content "  .data1          : { *(.data1) }") (escape_sequence "\n") (string_content "  _edata = .; PROVIDE (edata = .);") (escape_sequence "\n") (string_content "  . = .;") (escape_sequence "\n") (string_content "  __bss_start = .;") (escape_sequence "\n") (string_content "  .bss            :") (escape_sequence "\n") (string_content "  {") (escape_sequence "\n") (string_content "   *(.dynbss)") (escape_sequence "\n") (string_content "   *(.bss .bss.* .gnu.linkonce.b.*)") (escape_sequence "\n") (string_content "   *(COMMON)") (escape_sequence "\n") (string_content "   ") (" "")) () ")")))) (; ";")) (expression_statement "iVar7 = DAT_001d1414;" (assignment_expression "iVar7 = DAT_001d1414" (identifier "iVar7") (= "=") (identifier "DAT_001d1414")) (; ";")) (if_statement "if (iVar17 != 0) {\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }" (if "if") (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar16 = *(int *)(DAT_001d1414 + 0xa0);\n              *(code **)(iVar16 + 0x1dc) = FUN_00052960;\n              pvVar5 = DAT_001d0dfc;\n              iVar14 = *(int *)(iVar16 + 0x58);\n              *(int *)(iVar16 + 0x1e4) = iVar17;\n              *(void **)(iVar16 + 0x1e0) = pvVar5;\n              *(undefined4 *)(iVar17 + 0x2c) = 0x35;\n              *(undefined4 *)(iVar17 + 0x30) = 0;\n              goto joined_r0x00053689;\n            }" ({ "{") (expression_statement "iVar16 = *(int *)(DAT_001d1414 + 0xa0);" (assignment_expression "iVar16 = *(int *)(DAT_001d1414 + 0xa0)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" (* "*") (cast_expression "(int *)(DAT_001d1414 + 0xa0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001d1414 + 0xa0)" (( "(") (binary_expression "DAT_001d1414 + 0xa0" (identifier "DAT_001d1414") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(code **)(iVar16 + 0x1dc) = FUN_00052960;" (assignment_expression "*(code **)(iVar16 + 0x1dc) = FUN_00052960" (pointer_expression "*(code **)(iVar16 + 0x1dc)" (* "*") (cast_expression "(code **)(iVar16 + 0x1dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar16 + 0x1dc)" (( "(") (binary_expression "iVar16 + 0x1dc" (identifier "iVar16") (+ "+") (number_literal "0x1dc")) () ")")))) (= "=") (identifier "FUN_00052960")) (; ";")) (expression_statement "pvVar5 = DAT_001d0dfc;" (assignment_expression "pvVar5 = DAT_001d0dfc" (identifier "pvVar5") (= "=") (identifier "DAT_001d0dfc")) (; ";")) (expression_statement "iVar14 = *(int *)(iVar16 + 0x58);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x58)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar16 + 0x58)" (* "*") (cast_expression "(int *)(iVar16 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x58)" (( "(") (binary_expression "iVar16 + 0x58" (identifier "iVar16") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar16 + 0x1e4) = iVar17;" (assignment_expression "*(int *)(iVar16 + 0x1e4) = iVar17" (pointer_expression "*(int *)(iVar16 + 0x1e4)" (* "*") (cast_expression "(int *)(iVar16 + 0x1e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x1e4)" (( "(") (binary_expression "iVar16 + 0x1e4" (identifier "iVar16") (+ "+") (number_literal "0x1e4")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(void **)(iVar16 + 0x1e0) = pvVar5;" (assignment_expression "*(void **)(iVar16 + 0x1e0) = pvVar5" (pointer_expression "*(void **)(iVar16 + 0x1e0)" (* "*") (cast_expression "(void **)(iVar16 + 0x1e0)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar16 + 0x1e0)" (( "(") (binary_expression "iVar16 + 0x1e0" (identifier "iVar16") (+ "+") (number_literal "0x1e0")) () ")")))) (= "=") (identifier "pvVar5")) (; ";")) (expression_statement "*(undefined4 *)(iVar17 + 0x2c) = 0x35;" (assignment_expression "*(undefined4 *)(iVar17 + 0x2c) = 0x35" (pointer_expression "*(undefined4 *)(iVar17 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(iVar17 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x2c)" (( "(") (binary_expression "iVar17 + 0x2c" (identifier "iVar17") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "0x35")) (; ";")) (expression_statement "*(undefined4 *)(iVar17 + 0x30) = 0;" (assignment_expression "*(undefined4 *)(iVar17 + 0x30) = 0" (pointer_expression "*(undefined4 *)(iVar17 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar17 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x30)" (( "(") (binary_expression "iVar17 + 0x30" (identifier "iVar17") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto joined_r0x00053689;" (goto "goto") (statement_identifier "joined_r0x00053689") (; ";")) (} "}"))) (expression_statement "pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";" (assignment_expression "pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n"" (identifier "pcVar13") (= "=") (string_literal ""%P: warning: cannot create .buildid section, --build-id ignored\n"" (" """) (string_content "%P: warning: cannot create .buildid section, --build-id ignored") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (expression_statement "uVar12 = dcgettext(0,pcVar13,5);" (assignment_expression "uVar12 = dcgettext(0,pcVar13,5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,pcVar13,5)" (identifier "dcgettext") (argument_list "(0,pcVar13,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar13") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" (identifier "FUN_00034d20") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_000539a9:\n      free(DAT_001d0dfc);" (statement_identifier "LAB_000539a9") (: ":") (expression_statement "free(DAT_001d0dfc);" (call_expression "free(DAT_001d0dfc)" (identifier "free") (argument_list "(DAT_001d0dfc)" (( "(") (identifier "DAT_001d0dfc") () ")"))) (; ";"))) (expression_statement "DAT_001d0dfc = (void *)0x0;" (assignment_expression "DAT_001d0dfc = (void *)0x0" (identifier "DAT_001d0dfc") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }" (else "else") (compound_statement "{\n    printf("%s()\n","gld_i386pep_after_open");\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }\n    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);\n    puVar8 = DAT_001d141c;\n    if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }\n    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;\n  }" ({ "{") (expression_statement "printf("%s()\n","gld_i386pep_after_open");" (call_expression "printf("%s()\n","gld_i386pep_after_open")" (identifier "printf") (argument_list "("%s()\n","gld_i386pep_after_open")" (( "(") (string_literal ""%s()\n"" (" """) (string_content "%s()") (escape_sequence "\n") (" """)) (, ",") (string_literal ""gld_i386pep_after_open"" (" """) (string_content "gld_i386pep_after_open") (" """)) () ")"))) (; ";")) (for_statement "for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }" (for "for") (( "(") (assignment_expression "iVar7 = *(int *)(DAT_001d1400 + 0x1c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(DAT_001d1400 + 0x1c)" (* "*") (cast_expression "(int *)(DAT_001d1400 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001d1400 + 0x1c)" (( "(") (binary_expression "DAT_001d1400 + 0x1c" (identifier "DAT_001d1400") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar7 = *(int *)(iVar7 + 0x10)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar7 + 0x10)" (* "*") (cast_expression "(int *)(iVar7 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")"))))) () ")") (compound_statement "{\n      printf("-%s\n",*(undefined4 *)(iVar7 + 4));\n    }" ({ "{") (expression_statement "printf("-%s\n",*(undefined4 *)(iVar7 + 4));" (call_expression "printf("-%s\n",*(undefined4 *)(iVar7 + 4))" (identifier "printf") (argument_list "("-%s\n",*(undefined4 *)(iVar7 + 4))" (( "(") (string_literal ""-%s\n"" (" """) (string_content "-%s") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "*(undefined4 *)(iVar7 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);" (call_expression "bfd_hash_traverse(DAT_001d1400,FUN_00052650,0)" (identifier "bfd_hash_traverse") (argument_list "(DAT_001d1400,FUN_00052650,0)" (( "(") (identifier "DAT_001d1400") (, ",") (identifier "FUN_00052650") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar8 = DAT_001d141c;" (assignment_expression "puVar8 = DAT_001d141c" (identifier "puVar8") (= "=") (identifier "DAT_001d141c")) (; ";")) (if_statement "if (DAT_001d141c != (undefined4 *)0x0) {\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }" (if "if") (parenthesized_expression "(DAT_001d141c != (undefined4 *)0x0)" (( "(") (binary_expression "DAT_001d141c != (undefined4 *)0x0" (identifier "DAT_001d141c") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);\n      goto LAB_000535da;\n    }" ({ "{") (do_statement "do {\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);" (do "do") (compound_statement "{\n        printf("*%s\n",*puVar8);\n        puVar18 = puVar8 + 0x27;\n        puVar8 = (undefined4 *)*puVar18;\n      }" ({ "{") (expression_statement "printf("*%s\n",*puVar8);" (call_expression "printf("*%s\n",*puVar8)" (identifier "printf") (argument_list "("*%s\n",*puVar8)" (( "(") (string_literal ""*%s\n"" (" """) (string_content "*%s") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")"))) (; ";")) (expression_statement "puVar18 = puVar8 + 0x27;" (assignment_expression "puVar18 = puVar8 + 0x27" (identifier "puVar18") (= "=") (binary_expression "puVar8 + 0x27" (identifier "puVar8") (+ "+") (number_literal "0x27"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)*puVar18;" (assignment_expression "puVar8 = (undefined4 *)*puVar18" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)*puVar18" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 *)*puVar18 != (undefined4 *)0x0)" (( "(") (binary_expression "(undefined4 *)*puVar18 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*puVar18" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18"))) (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (goto_statement "goto LAB_000535da;" (goto "goto") (statement_identifier "LAB_000535da") (; ";")) (} "}"))) (if_statement "if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;" (if "if") (parenthesized_expression "(DAT_001d0dfc != (void *)0x0)" (( "(") (binary_expression "DAT_001d0dfc != (void *)0x0" (identifier "DAT_001d0dfc") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000539a9;" (goto "goto") (statement_identifier "LAB_000539a9") (; ";"))) (} "}")))) (expression_statement "iVar7 = DAT_001d1414;" (assignment_expression "iVar7 = DAT_001d1414" (identifier "iVar7") (= "=") (identifier "DAT_001d1414")) (; ";")) (if_statement "if (*(int *)(DAT_001d1414 + 0xa0) != 0) {\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }" (if "if") (parenthesized_expression "(*(int *)(DAT_001d1414 + 0xa0) != 0)" (( "(") (binary_expression "*(int *)(DAT_001d1414 + 0xa0) != 0" (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" (* "*") (cast_expression "(int *)(DAT_001d1414 + 0xa0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001d1414 + 0xa0)" (( "(") (binary_expression "DAT_001d1414 + 0xa0" (identifier "DAT_001d1414") (+ "+") (number_literal "0xa0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);\njoined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;\n  }" ({ "{") (expression_statement "iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);" (assignment_expression "iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" (* "*") (cast_expression "(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_001d1414 + 0xa0) + 0x58)" (( "(") (binary_expression "*(int *)(DAT_001d1414 + 0xa0) + 0x58" (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" (* "*") (cast_expression "(int *)(DAT_001d1414 + 0xa0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001d1414 + 0xa0)" (( "(") (binary_expression "DAT_001d1414 + 0xa0" (identifier "DAT_001d1414") (+ "+") (number_literal "0xa0")) () ")")))) (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (labeled_statement "joined_r0x00053689:\n    if (iVar14 != 0) goto LAB_00053690;" (statement_identifier "joined_r0x00053689") (: ":") (if_statement "if (iVar14 != 0) goto LAB_00053690;" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00053690;" (goto "goto") (statement_identifier "LAB_00053690") (; ";")))) (} "}"))) (expression_statement "uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);" (assignment_expression "uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"" (" """) (string_content "%F%P: cannot perform PE operations on non PE output file ") (escape_sequence "\'") (string_content "%pB") (escape_sequence "\'") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00034d20(uVar12,iVar7);" (call_expression "FUN_00034d20(uVar12,iVar7)" (identifier "FUN_00034d20") (argument_list "(uVar12,iVar7)" (( "(") (identifier "uVar12") (, ",") (identifier "iVar7") () ")"))) (; ";")) (labeled_statement "LAB_00053690:\n  iVar17 = DAT_001d1414;" (statement_identifier "LAB_00053690") (: ":") (expression_statement "iVar17 = DAT_001d1414;" (assignment_expression "iVar17 = DAT_001d1414" (identifier "iVar17") (= "=") (identifier "DAT_001d1414")) (; ";"))) (expression_statement "iVar7 = *(int *)(DAT_001d1414 + 0xa0);" (assignment_expression "iVar7 = *(int *)(DAT_001d1414 + 0xa0)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(DAT_001d1414 + 0xa0)" (* "*") (cast_expression "(int *)(DAT_001d1414 + 0xa0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001d1414 + 0xa0)" (( "(") (binary_expression "DAT_001d1414 + 0xa0" (identifier "DAT_001d1414") (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "puVar8 = &DAT_001d0e20;" (assignment_expression "puVar8 = &DAT_001d0e20" (identifier "puVar8") (= "=") (pointer_expression "&DAT_001d0e20" (& "&") (identifier "DAT_001d0e20"))) (; ";")) (expression_statement "puVar18 = (undefined4 *)(iVar7 + 0x7c);" (assignment_expression "puVar18 = (undefined4 *)(iVar7 + 0x7c)" (identifier "puVar18") (= "=") (cast_expression "(undefined4 *)(iVar7 + 0x7c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x7c)" (( "(") (binary_expression "iVar7 + 0x7c" (identifier "iVar7") (+ "+") (number_literal "0x7c")) () ")")))) (; ";")) (for_statement "for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }" (for "for") (( "(") (assignment_expression "iVar16 = 0x52" (identifier "iVar16") (= "=") (number_literal "0x52")) (; ";") (comma_expression "uVar12 = DAT_001cfd24, iVar16 != 0" (assignment_expression "uVar12 = DAT_001cfd24" (identifier "uVar12") (= "=") (identifier "DAT_001cfd24")) (, ",") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0"))) (; ";") (assignment_expression "iVar16 = iVar16 + -1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    *puVar18 = *puVar8;\n    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;\n    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;\n  }" ({ "{") (expression_statement "*puVar18 = *puVar8;" (assignment_expression "*puVar18 = *puVar8" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (; ";")) (expression_statement "puVar8 = puVar8 + (uint)bVar25 * -2 + 1;" (assignment_expression "puVar8 = puVar8 + (uint)bVar25 * -2 + 1" (identifier "puVar8") (= "=") (binary_expression "puVar8 + (uint)bVar25 * -2 + 1" (binary_expression "puVar8 + (uint)bVar25 * -2" (identifier "puVar8") (+ "+") (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 "puVar18 = puVar18 + (uint)bVar25 * -2 + 1;" (assignment_expression "puVar18 = puVar18 + (uint)bVar25 * -2 + 1" (identifier "puVar18") (= "=") (binary_expression "puVar18 + (uint)bVar25 * -2 + 1" (binary_expression "puVar18 + (uint)bVar25 * -2" (identifier "puVar18") (+ "+") (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 "*(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;" (assignment_expression "*(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 0x1d8)" (* "*") (cast_expression "(uint *)(iVar7 + 0x1d8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1d8)" (( "(") (binary_expression "iVar7 + 0x1d8" (identifier "iVar7") (+ "+") (number_literal "0x1d8")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar7 + 0x1d8) | 0x20" (pointer_expression "*(uint *)(iVar7 + 0x1d8)" (* "*") (cast_expression "(uint *)(iVar7 + 0x1d8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1d8)" (( "(") (binary_expression "iVar7 + 0x1d8" (identifier "iVar7") (+ "+") (number_literal "0x1d8")) () ")")))) (| "|") (number_literal "0x20"))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x1c4) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1c4) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x1c4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x1c4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c4)" (( "(") (binary_expression "iVar7 + 0x1c4" (identifier "iVar7") (+ "+") (number_literal "0x1c4")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70" (pointer_expression "*(undefined4 *)(iVar7 + 0x1d0)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x1d0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1d0)" (( "(") (binary_expression "iVar7 + 0x1d0" (identifier "iVar7") (+ "+") (number_literal "0x1d0")) () ")")))) (= "=") (identifier "DAT_001cfc70")) (; ";")) (if_statement "if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }" (if "if") (parenthesized_expression "((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0))" (( "(") (binary_expression "(DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)" (parenthesized_expression "(DAT_001d02b4 < 0)" (( "(") (binary_expression "DAT_001d02b4 < 0" (identifier "DAT_001d02b4") (< "<") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((DAT_001d13e1 & 0x60) == 0)" (( "(") (binary_expression "(DAT_001d13e1 & 0x60) == 0" (parenthesized_expression "(DAT_001d13e1 & 0x60)" (( "(") (binary_expression "DAT_001d13e1 & 0x60" (identifier "DAT_001d13e1") (& "&") (number_literal "0x60")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }\n  }" ({ "{") (if_statement "if ((DAT_001d13e0 & 3) == 2) {\n      DAT_001d02b4 = 1;\n    }\n    else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" (if "if") (parenthesized_expression "((DAT_001d13e0 & 3) == 2)" (( "(") (binary_expression "(DAT_001d13e0 & 3) == 2" (parenthesized_expression "(DAT_001d13e0 & 3)" (( "(") (binary_expression "DAT_001d13e0 & 3" (identifier "DAT_001d13e0") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      DAT_001d02b4 = 1;\n    }" ({ "{") (expression_statement "DAT_001d02b4 = 1;" (assignment_expression "DAT_001d02b4 = 1" (identifier "DAT_001d02b4") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" (else "else") (if_statement "if (DAT_001d06bc != 0) {\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" (if "if") (parenthesized_expression "(DAT_001d06bc != 0)" (( "(") (binary_expression "DAT_001d06bc != 0" (identifier "DAT_001d06bc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar7 = DAT_001d06bc;\n      do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);\n    }" ({ "{") (expression_statement "iVar7 = DAT_001d06bc;" (assignment_expression "iVar7 = DAT_001d06bc" (identifier "iVar7") (= "=") (identifier "DAT_001d06bc")) (; ";")) (do_statement "do {\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      } while (iVar7 != 0);" (do "do") (compound_statement "{\n        local_20[0] = 0;\n        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);\n        iVar17 = DAT_001d1414;\n        if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }\n        iVar7 = *(int *)(iVar7 + 0x18);\n      }" ({ "{") (expression_statement "local_20[0] = 0;" (assignment_expression "local_20[0] = 0" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);" (call_expression "bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20)" (identifier "bfd_map_over_sections") (argument_list "(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20)" (( "(") (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "FUN_00052100") (, ",") (identifier "local_20") () ")"))) (; ";")) (expression_statement "iVar17 = DAT_001d1414;" (assignment_expression "iVar17 = DAT_001d1414" (identifier "iVar17") (= "=") (identifier "DAT_001d1414")) (; ";")) (if_statement "if (local_20[0] != 0) {\n          DAT_001d02b4 = 1;\n          break;\n        }" (if "if") (parenthesized_expression "(local_20[0] != 0)" (( "(") (binary_expression "local_20[0] != 0" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          DAT_001d02b4 = 1;\n          break;\n        }" ({ "{") (expression_statement "DAT_001d02b4 = 1;" (assignment_expression "DAT_001d02b4 = 1" (identifier "DAT_001d02b4") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "iVar7 = *(int *)(iVar7 + 0x18);" (assignment_expression "iVar7 = *(int *)(iVar7 + 0x18)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar7 + 0x18)" (* "*") (cast_expression "(int *)(iVar7 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))))) (} "}"))) (expression_statement "FUN_0005fed0(iVar17);" (call_expression "FUN_0005fed0(iVar17)" (identifier "FUN_0005fed0") (argument_list "(iVar17)" (( "(") (identifier "iVar17") () ")"))) (; ";")) (expression_statement "FUN_0005e960(DAT_001d1414,&DAT_001d13e0);" (call_expression "FUN_0005e960(DAT_001d1414,&DAT_001d13e0)" (identifier "FUN_0005e960") (argument_list "(DAT_001d1414,&DAT_001d13e0)" (( "(") (identifier "DAT_001d1414") (, ",") (pointer_expression "&DAT_001d13e0" (& "&") (identifier "DAT_001d13e0")) () ")"))) (; ";")) (if_statement "if (DAT_001d1448 != 0) {\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }" (if "if") (parenthesized_expression "(DAT_001d1448 != 0)" (( "(") (binary_expression "DAT_001d1448 != 0" (identifier "DAT_001d1448") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar7 = FUN_00052dd0();\n    pcVar13 = "_head_";\n    if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }\n    FUN_0005ce60(pcVar13,FUN_00052680);\n  }" ({ "{") (expression_statement "iVar7 = FUN_00052dd0();" (assignment_expression "iVar7 = FUN_00052dd0()" (identifier "iVar7") (= "=") (call_expression "FUN_00052dd0()" (identifier "FUN_00052dd0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar13 = "_head_";" (assignment_expression "pcVar13 = "_head_"" (identifier "pcVar13") (= "=") (string_literal ""_head_"" (" """) (string_content "_head_") (" """))) (; ";")) (if_statement "if (iVar7 != 0) {\n      pcVar13 = "__head_";\n    }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar13 = "__head_";\n    }" ({ "{") (expression_statement "pcVar13 = "__head_";" (assignment_expression "pcVar13 = "__head_"" (identifier "pcVar13") (= "=") (string_literal ""__head_"" (" """) (string_content "__head_") (" """))) (; ";")) (} "}"))) (expression_statement "FUN_0005ce60(pcVar13,FUN_00052680);" (call_expression "FUN_0005ce60(pcVar13,FUN_00052680)" (identifier "FUN_0005ce60") (argument_list "(pcVar13,FUN_00052680)" (( "(") (identifier "pcVar13") (, ",") (identifier "FUN_00052680") () ")"))) (; ";")) (} "}"))) (if_statement "if (DAT_001cfc6c != 0) {\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }" (if "if") (parenthesized_expression "(DAT_001cfc6c != 0)" (( "(") (binary_expression "DAT_001cfc6c != 0" (identifier "DAT_001cfc6c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }\n    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }\n  }" ({ "{") (if_statement "if (DAT_001d1144 != 0) {\n      puts("pep_fixup_stdcalls");\n    }" (if "if") (parenthesized_expression "(DAT_001d1144 != 0)" (( "(") (binary_expression "DAT_001d1144 != 0" (identifier "DAT_001d1144") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puts("pep_fixup_stdcalls");\n    }" ({ "{") (expression_statement "puts("pep_fixup_stdcalls");" (call_expression "puts("pep_fixup_stdcalls")" (identifier "puts") (argument_list "("pep_fixup_stdcalls")" (( "(") (string_literal ""pep_fixup_stdcalls"" (" """) (string_content "pep_fixup_stdcalls") (" """)) () ")"))) (; ";")) (} "}"))) (for_statement "for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }" (for "for") (( "(") (assignment_expression "iVar7 = *(int *)(DAT_001d1400 + 0x1c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(DAT_001d1400 + 0x1c)" (* "*") (cast_expression "(int *)(DAT_001d1400 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001d1400 + 0x1c)" (( "(") (binary_expression "DAT_001d1400 + 0x1c" (identifier "DAT_001d1400") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar7 = *(int *)(iVar7 + 0x10)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar7 + 0x10)" (* "*") (cast_expression "(int *)(iVar7 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")"))))) () ")") (compound_statement "{\n      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;\n      pcVar13 = *(char **)(iVar7 + 4);\n      if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }\nLAB_00053dd0:\n    }" ({ "{") (if_statement "if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;" (if "if") (parenthesized_expression "(*(char *)(iVar7 + 0xc) != '\x01')" (( "(") (binary_expression "*(char *)(iVar7 + 0xc) != '\x01'" (pointer_expression "*(char *)(iVar7 + 0xc)" (* "*") (cast_expression "(char *)(iVar7 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (goto_statement "goto LAB_00053dd0;" (goto "goto") (statement_identifier "LAB_00053dd0") (; ";"))) (expression_statement "pcVar13 = *(char **)(iVar7 + 4);" (assignment_expression "pcVar13 = *(char **)(iVar7 + 4)" (identifier "pcVar13") (= "=") (pointer_expression "*(char **)(iVar7 + 4)" (* "*") (cast_expression "(char **)(iVar7 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (*pcVar13 == '@') {\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }\n      else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }" (if "if") (parenthesized_expression "(*pcVar13 == '@')" (( "(") (binary_expression "*pcVar13 == '@'" (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) (== "==") (char_literal "'@'" (' "'") (character "@") (' "'"))) () ")")) (compound_statement "{\n        pcVar13 = (char *)xstrdup(pcVar13);\n        *pcVar13 = '_';\nLAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }\n        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);\n        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }\n      }" ({ "{") (expression_statement "pcVar13 = (char *)xstrdup(pcVar13);" (assignment_expression "pcVar13 = (char *)xstrdup(pcVar13)" (identifier "pcVar13") (= "=") (cast_expression "(char *)xstrdup(pcVar13)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xstrdup(pcVar13)" (identifier "xstrdup") (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")"))))) (; ";")) (expression_statement "*pcVar13 = '_';" (assignment_expression "*pcVar13 = '_'" (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) (= "=") (char_literal "'_'" (' "'") (character "_") (' "'"))) (; ";")) (labeled_statement "LAB_00053f0f:\n        pcVar11 = strchr(pcVar13,0x40);" (statement_identifier "LAB_00053f0f") (: ":") (expression_statement "pcVar11 = strchr(pcVar13,0x40);" (assignment_expression "pcVar11 = strchr(pcVar13,0x40)" (identifier "pcVar11") (= "=") (call_expression "strchr(pcVar13,0x40)" (identifier "strchr") (argument_list "(pcVar13,0x40)" (( "(") (identifier "pcVar13") (, ",") (number_literal "0x40") () ")")))) (; ";"))) (if_statement "if (pcVar11 != (char *)0x0) {\n          *pcVar11 = '\0';\n        }" (if "if") (parenthesized_expression "(pcVar11 != (char *)0x0)" (( "(") (binary_expression "pcVar11 != (char *)0x0" (identifier "pcVar11") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *pcVar11 = '\0';\n        }" ({ "{") (expression_statement "*pcVar11 = '\0';" (assignment_expression "*pcVar11 = '\0'" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}"))) (expression_statement "iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);" (assignment_expression "iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1)" (identifier "iVar17") (= "=") (call_expression "bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1)" (identifier "bfd_link_hash_lookup") (argument_list "(DAT_001d1400,pcVar13,0,0,1)" (( "(") (identifier "DAT_001d1400") (, ",") (identifier "pcVar13") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }" (if "if") (parenthesized_expression "((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03'))" (( "(") (binary_expression "(iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')" (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar17 + 0xc) == '\x03')" (( "(") (binary_expression "*(char *)(iVar17 + 0xc) == '\x03'" (pointer_expression "*(char *)(iVar17 + 0xc)" (* "*") (cast_expression "(char *)(iVar17 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0xc)" (( "(") (binary_expression "iVar17 + 0xc" (identifier "iVar17") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          uVar12 = *(undefined4 *)(iVar17 + 0x18);\n          uVar15 = *(undefined4 *)(iVar17 + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          uVar3 = *(undefined4 *)(iVar17 + 0x14);\n          bVar24 = DAT_001cfc6c == -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar3;\n          if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }\n        }" ({ "{") (expression_statement "uVar12 = *(undefined4 *)(iVar17 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(iVar17 + 0x18)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(iVar17 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar17 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x18)" (( "(") (binary_expression "iVar17 + 0x18" (identifier "iVar17") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "uVar15 = *(undefined4 *)(iVar17 + 0x1c);" (assignment_expression "uVar15 = *(undefined4 *)(iVar17 + 0x1c)" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)(iVar17 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar17 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x1c)" (( "(") (binary_expression "iVar17 + 0x1c" (identifier "iVar17") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(iVar7 + 0xc) = 3;" (assignment_expression "*(undefined1 *)(iVar7 + 0xc) = 3" (pointer_expression "*(undefined1 *)(iVar7 + 0xc)" (* "*") (cast_expression "(undefined1 *)(iVar7 + 0xc)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(iVar17 + 0x14);" (assignment_expression "uVar3 = *(undefined4 *)(iVar17 + 0x14)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(iVar17 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar17 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x14)" (( "(") (binary_expression "iVar17 + 0x14" (identifier "iVar17") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "bVar24 = DAT_001cfc6c == -1;" (assignment_expression "bVar24 = DAT_001cfc6c == -1" (identifier "bVar24") (= "=") (binary_expression "DAT_001cfc6c == -1" (identifier "DAT_001cfc6c") (== "==") (number_literal "-1"))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x18) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x1c) = uVar15;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1c) = uVar15" (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x14) = uVar3;" (assignment_expression "*(undefined4 *)(iVar7 + 0x14) = uVar3" (pointer_expression "*(undefined4 *)(iVar7 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x14)" (( "(") (binary_expression "iVar7 + 0x14" (identifier "iVar7") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (if_statement "if (bVar24) {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (compound_statement "{\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\n            goto LAB_00053e6d;\n          }" ({ "{") (expression_statement "uVar12 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(iVar7 + 4)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(iVar7 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);" (assignment_expression "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"warning: resolving %s by linking to %s\n",5)" (identifier "dcgettext") (argument_list "(0,"warning: resolving %s by linking to %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""warning: resolving %s by linking to %s\n"" (" """) (string_content "warning: resolving %s by linking to %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (goto_statement "goto LAB_00053e6d;" (goto "goto") (statement_identifier "LAB_00053e6d") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }" (else "else") (compound_statement "{\n        pcVar11 = strchr(pcVar13,0x40);\n        if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }\n        DAT_001d0dec = 0;\n        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);\n        iVar17 = DAT_001d0dec;\n        if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }\n      }" ({ "{") (expression_statement "pcVar11 = strchr(pcVar13,0x40);" (assignment_expression "pcVar11 = strchr(pcVar13,0x40)" (identifier "pcVar11") (= "=") (call_expression "strchr(pcVar13,0x40)" (identifier "strchr") (argument_list "(pcVar13,0x40)" (( "(") (identifier "pcVar13") (, ",") (number_literal "0x40") () ")")))) (; ";")) (if_statement "if (pcVar11 != (char *)0x0) {\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }" (if "if") (parenthesized_expression "(pcVar11 != (char *)0x0)" (( "(") (binary_expression "pcVar11 != (char *)0x0" (identifier "pcVar11") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pcVar13 = (char *)xstrdup(pcVar13);\n          goto LAB_00053f0f;\n        }" ({ "{") (expression_statement "pcVar13 = (char *)xstrdup(pcVar13);" (assignment_expression "pcVar13 = (char *)xstrdup(pcVar13)" (identifier "pcVar13") (= "=") (cast_expression "(char *)xstrdup(pcVar13)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xstrdup(pcVar13)" (identifier "xstrdup") (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")"))))) (; ";")) (goto_statement "goto LAB_00053f0f;" (goto "goto") (statement_identifier "LAB_00053f0f") (; ";")) (} "}"))) (expression_statement "DAT_001d0dec = 0;" (assignment_expression "DAT_001d0dec = 0" (identifier "DAT_001d0dec") (= "=") (number_literal "0")) (; ";")) (expression_statement "bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);" (call_expression "bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13)" (identifier "bfd_link_hash_traverse") (argument_list "(DAT_001d1400,FUN_00052140,pcVar13)" (( "(") (identifier "DAT_001d1400") (, ",") (identifier "FUN_00052140") (, ",") (identifier "pcVar13") () ")"))) (; ";")) (expression_statement "iVar17 = DAT_001d0dec;" (assignment_expression "iVar17 = DAT_001d0dec" (identifier "iVar17") (= "=") (identifier "DAT_001d0dec")) (; ";")) (if_statement "if (DAT_001d0dec != 0) {\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }" (if "if") (parenthesized_expression "(DAT_001d0dec != 0)" (( "(") (binary_expression "DAT_001d0dec != 0" (identifier "DAT_001d0dec") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);\n          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);\n          *(undefined1 *)(iVar7 + 0xc) = 3;\n          bVar24 = DAT_001cfc6c != -1;\n          *(undefined4 *)(iVar7 + 0x18) = uVar12;\n          uVar12 = *(undefined4 *)(iVar17 + 0x14);\n          *(undefined4 *)(iVar7 + 0x1c) = uVar15;\n          *(undefined4 *)(iVar7 + 0x14) = uVar12;\n          if (bVar24) goto LAB_00053dd0;\n          pcVar13 = *(char **)(iVar17 + 4);\n          uVar12 = *(undefined4 *)(iVar7 + 4);\n          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);\nLAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);\n          if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }\n        }" ({ "{") (expression_statement "uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(DAT_001d0dec + 0x18)" (* "*") (cast_expression "(undefined4 *)(DAT_001d0dec + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001d0dec + 0x18)" (( "(") (binary_expression "DAT_001d0dec + 0x18" (identifier "DAT_001d0dec") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);" (assignment_expression "uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c)" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)(DAT_001d0dec + 0x1c)" (* "*") (cast_expression "(undefined4 *)(DAT_001d0dec + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001d0dec + 0x1c)" (( "(") (binary_expression "DAT_001d0dec + 0x1c" (identifier "DAT_001d0dec") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(iVar7 + 0xc) = 3;" (assignment_expression "*(undefined1 *)(iVar7 + 0xc) = 3" (pointer_expression "*(undefined1 *)(iVar7 + 0xc)" (* "*") (cast_expression "(undefined1 *)(iVar7 + 0xc)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "bVar24 = DAT_001cfc6c != -1;" (assignment_expression "bVar24 = DAT_001cfc6c != -1" (identifier "bVar24") (= "=") (binary_expression "DAT_001cfc6c != -1" (identifier "DAT_001cfc6c") (!= "!=") (number_literal "-1"))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x18) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(iVar17 + 0x14);" (assignment_expression "uVar12 = *(undefined4 *)(iVar17 + 0x14)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(iVar17 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar17 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x14)" (( "(") (binary_expression "iVar17 + 0x14" (identifier "iVar17") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x1c) = uVar15;" (assignment_expression "*(undefined4 *)(iVar7 + 0x1c) = uVar15" (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0x14) = uVar12;" (assignment_expression "*(undefined4 *)(iVar7 + 0x14) = uVar12" (pointer_expression "*(undefined4 *)(iVar7 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x14)" (( "(") (binary_expression "iVar7 + 0x14" (identifier "iVar7") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (bVar24) goto LAB_00053dd0;" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (goto_statement "goto LAB_00053dd0;" (goto "goto") (statement_identifier "LAB_00053dd0") (; ";"))) (expression_statement "pcVar13 = *(char **)(iVar17 + 4);" (assignment_expression "pcVar13 = *(char **)(iVar17 + 4)" (identifier "pcVar13") (= "=") (pointer_expression "*(char **)(iVar17 + 4)" (* "*") (cast_expression "(char **)(iVar17 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar17 + 4)" (( "(") (binary_expression "iVar17 + 4" (identifier "iVar17") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(iVar7 + 4)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(iVar7 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);" (assignment_expression "uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"warning: resolving %s by linking to %s\n",5)" (identifier "dcgettext") (argument_list "(0,"warning: resolving %s by linking to %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""warning: resolving %s by linking to %s\n"" (" """) (string_content "warning: resolving %s by linking to %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (labeled_statement "LAB_00053e6d:\n          FUN_00034d20(uVar15,uVar12,pcVar13);" (statement_identifier "LAB_00053e6d") (: ":") (expression_statement "FUN_00034d20(uVar15,uVar12,pcVar13);" (call_expression "FUN_00034d20(uVar15,uVar12,pcVar13)" (identifier "FUN_00034d20") (argument_list "(uVar15,uVar12,pcVar13)" (( "(") (identifier "uVar15") (, ",") (identifier "uVar12") (, ",") (identifier "pcVar13") () ")"))) (; ";"))) (if_statement "if (DAT_001d0de0 == 0) {\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }" (if "if") (parenthesized_expression "(DAT_001d0de0 == 0)" (( "(") (binary_expression "DAT_001d0de0 == 0" (identifier "DAT_001d0de0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001d0de0 = 1;\n            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);\n            FUN_00034d20(uVar12);\n            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);\n            FUN_00034d20(uVar12);\n          }" ({ "{") (expression_statement "DAT_001d0de0 = 1;" (assignment_expression "DAT_001d0de0 = 1" (identifier "DAT_001d0de0") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5)" (identifier "dcgettext") (argument_list "(0,"Use --enable-stdcall-fixup to disable these warnings\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Use --enable-stdcall-fixup to disable these warnings\n"" (" """) (string_content "Use --enable-stdcall-fixup to disable these warnings") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" (identifier "FUN_00034d20") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" (identifier "dcgettext") (argument_list "(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Use --disable-stdcall-fixup to disable these fixups\n"" (" """) (string_content "Use --disable-stdcall-fixup to disable these fixups") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" (identifier "FUN_00034d20") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")))) (labeled_statement "LAB_00053dd0:" (statement_identifier "LAB_00053dd0") (: ":") (expression_statement "" (; ""))) (} "}"))) (} "}"))) (if_statement "if ((DAT_001d13e0 & 3) != 2) {\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }" (if "if") (parenthesized_expression "((DAT_001d13e0 & 3) != 2)" (( "(") (binary_expression "(DAT_001d13e0 & 3) != 2" (parenthesized_expression "(DAT_001d13e0 & 3)" (( "(") (binary_expression "DAT_001d13e0 & 3" (identifier "DAT_001d13e0") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);\n  }" ({ "{") (expression_statement "FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);" (call_expression "FUN_0005ff40(DAT_001d1414,&DAT_001d13e0)" (identifier "FUN_0005ff40") (argument_list "(DAT_001d1414,&DAT_001d13e0)" (( "(") (identifier "DAT_001d1414") (, ",") (pointer_expression "&DAT_001d13e0" (& "&") (identifier "DAT_001d13e0")) () ")"))) (; ";")) (} "}"))) (expression_statement "local_40 = DAT_001d06bc;" (assignment_expression "local_40 = DAT_001d06bc" (identifier "local_40") (= "=") (identifier "DAT_001d06bc")) (; ";")) (if_statement "if (DAT_001d06bc != 0) {\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }" (if "if") (parenthesized_expression "(DAT_001d06bc != 0)" (( "(") (binary_expression "DAT_001d06bc != 0" (identifier "DAT_001d06bc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);\n    local_50 = DAT_001d06bc;\n    if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }\n  }" ({ "{") (do_statement "do {\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    } while (local_40 != 0);" (do "do") (compound_statement "{\n      iVar7 = *(int *)(local_40 + 0x10);\n      if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }\n      local_40 = *(int *)(local_40 + 0x18);\n    }" ({ "{") (expression_statement "iVar7 = *(int *)(local_40 + 0x10);" (assignment_expression "iVar7 = *(int *)(local_40 + 0x10)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(local_40 + 0x10)" (* "*") (cast_expression "(int *)(local_40 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 0x10)" (( "(") (binary_expression "local_40 + 0x10" (identifier "local_40") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0))" (( "(") (binary_expression "(*(int *)(iVar7 + 0x8c) != 0) &&\n         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)" (parenthesized_expression "(*(int *)(iVar7 + 0x8c) != 0)" (( "(") (binary_expression "*(int *)(iVar7 + 0x8c) != 0" (pointer_expression "*(int *)(iVar7 + 0x8c)" (* "*") (cast_expression "(int *)(iVar7 + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x8c)" (( "(") (binary_expression "iVar7 + 0x8c" (identifier "iVar7") (+ "+") (number_literal "0x8c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)" (( "(") (comma_expression "local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0" (assignment_expression "local_38 = *(undefined4 **)(iVar7 + 0x60)" (identifier "local_38") (= "=") (pointer_expression "*(undefined4 **)(iVar7 + 0x60)" (* "*") (cast_expression "(undefined4 **)(iVar7 + 0x60)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x60)" (( "(") (binary_expression "iVar7 + 0x60" (identifier "iVar7") (+ "+") (number_literal "0x60")) () ")"))))) (, ",") (binary_expression "local_38 != (undefined4 *)0x0" (identifier "local_38") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n        iVar17 = 0;\n        bVar23 = true;\n        puVar8 = local_38;\n        bVar4 = 0;\n        bVar24 = false;\n        do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);\n        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }\n      }" ({ "{") (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" (identifier "iVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar23 = true;" (assignment_expression "bVar23 = true" (identifier "bVar23") (= "=") (true "true")) (; ";")) (expression_statement "puVar8 = local_38;" (assignment_expression "puVar8 = local_38" (identifier "puVar8") (= "=") (identifier "local_38")) (; ";")) (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" (identifier "bVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (do_statement "do {\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        } while (!bVar23);" (do "do") (compound_statement "{\n          bVar21 = false;\n          iVar16 = 9;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$2";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar23 = (!bVar21 && !bVar23) == bVar21;\n          bVar21 = true;\n          if (!bVar23) {\n            bVar21 = bVar24;\n          }\n          iVar16 = 7;\n          pbVar19 = (byte *)*puVar8;\n          pbVar20 = (byte *)".idata$";\n          do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);\n          bVar6 = 1;\n          if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }\n          iVar17 = iVar17 + puVar8[0x19];\n          puVar8 = (undefined4 *)puVar8[3];\n          bVar23 = puVar8 == (undefined4 *)0x0;\n          bVar4 = bVar6;\n          bVar24 = bVar21;\n        }" ({ "{") (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "iVar16 = 9;" (assignment_expression "iVar16 = 9" (identifier "iVar16") (= "=") (number_literal "9")) (; ";")) (expression_statement "pbVar19 = (byte *)*puVar8;" (assignment_expression "pbVar19 = (byte *)*puVar8" (identifier "pbVar19") (= "=") (cast_expression "(byte *)*puVar8" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) (; ";")) (expression_statement "pbVar20 = (byte *)".idata$2";" (assignment_expression "pbVar20 = (byte *)".idata$2"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)".idata$2"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".idata$2"" (" """) (string_content ".idata$2") (" """)))) (; ";")) (do_statement "do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);" (do "do") (compound_statement "{\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar21 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar16 == 0) break;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar16 = iVar16 + -1;" (assignment_expression "iVar16 = iVar16 + -1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar21 = *pbVar19 < *pbVar20;" (assignment_expression "bVar21 = *pbVar19 < *pbVar20" (identifier "bVar21") (= "=") (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar23 = *pbVar19 == *pbVar20;" (assignment_expression "bVar23 = *pbVar19 == *pbVar20" (identifier "bVar23") (= "=") (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (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 "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" (identifier "pbVar20") (+ "+") (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 "(bVar23)" (( "(") (identifier "bVar23") () ")")) (; ";")) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" (identifier "bVar22") (= "=") (false "false")) (; ";")) (expression_statement "bVar23 = (!bVar21 && !bVar23) == bVar21;" (assignment_expression "bVar23 = (!bVar21 && !bVar23) == bVar21" (identifier "bVar23") (= "=") (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" (( "(") (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" (! "!") (identifier "bVar21")) (&& "&&") (unary_expression "!bVar23" (! "!") (identifier "bVar23"))) () ")")) (== "==") (identifier "bVar21"))) (; ";")) (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" (identifier "bVar21") (= "=") (true "true")) (; ";")) (if_statement "if (!bVar23) {\n            bVar21 = bVar24;\n          }" (if "if") (parenthesized_expression "(!bVar23)" (( "(") (unary_expression "!bVar23" (! "!") (identifier "bVar23")) () ")")) (compound_statement "{\n            bVar21 = bVar24;\n          }" ({ "{") (expression_statement "bVar21 = bVar24;" (assignment_expression "bVar21 = bVar24" (identifier "bVar21") (= "=") (identifier "bVar24")) (; ";")) (} "}"))) (expression_statement "iVar16 = 7;" (assignment_expression "iVar16 = 7" (identifier "iVar16") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar19 = (byte *)*puVar8;" (assignment_expression "pbVar19 = (byte *)*puVar8" (identifier "pbVar19") (= "=") (cast_expression "(byte *)*puVar8" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) (; ";")) (expression_statement "pbVar20 = (byte *)".idata$";" (assignment_expression "pbVar20 = (byte *)".idata$"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)".idata$"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".idata$"" (" """) (string_content ".idata$") (" """)))) (; ";")) (do_statement "do {\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          } while (bVar23);" (do "do") (compound_statement "{\n            if (iVar16 == 0) break;\n            iVar16 = iVar16 + -1;\n            bVar22 = *pbVar19 < *pbVar20;\n            bVar23 = *pbVar19 == *pbVar20;\n            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar16 == 0) break;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar16 = iVar16 + -1;" (assignment_expression "iVar16 = iVar16 + -1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar22 = *pbVar19 < *pbVar20;" (assignment_expression "bVar22 = *pbVar19 < *pbVar20" (identifier "bVar22") (= "=") (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar23 = *pbVar19 == *pbVar20;" (assignment_expression "bVar23 = *pbVar19 == *pbVar20" (identifier "bVar23") (= "=") (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (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 "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" (identifier "pbVar20") (+ "+") (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 "(bVar23)" (( "(") (identifier "bVar23") () ")")) (; ";")) (expression_statement "bVar6 = 1;" (assignment_expression "bVar6 = 1" (identifier "bVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((!bVar22 && !bVar23) != bVar22) {\n            bVar6 = bVar4;\n          }" (if "if") (parenthesized_expression "((!bVar22 && !bVar23) != bVar22)" (( "(") (binary_expression "(!bVar22 && !bVar23) != bVar22" (parenthesized_expression "(!bVar22 && !bVar23)" (( "(") (binary_expression "!bVar22 && !bVar23" (unary_expression "!bVar22" (! "!") (identifier "bVar22")) (&& "&&") (unary_expression "!bVar23" (! "!") (identifier "bVar23"))) () ")")) (!= "!=") (identifier "bVar22")) () ")")) (compound_statement "{\n            bVar6 = bVar4;\n          }" ({ "{") (expression_statement "bVar6 = bVar4;" (assignment_expression "bVar6 = bVar4" (identifier "bVar6") (= "=") (identifier "bVar4")) (; ";")) (} "}"))) (expression_statement "iVar17 = iVar17 + puVar8[0x19];" (assignment_expression "iVar17 = iVar17 + puVar8[0x19]" (identifier "iVar17") (= "=") (binary_expression "iVar17 + puVar8[0x19]" (identifier "iVar17") (+ "+") (subscript_expression "puVar8[0x19]" (identifier "puVar8") ([ "[") (number_literal "0x19") (] "]")))) (; ";")) (expression_statement "puVar8 = (undefined4 *)puVar8[3];" (assignment_expression "puVar8 = (undefined4 *)puVar8[3]" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)puVar8[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "bVar23 = puVar8 == (undefined4 *)0x0;" (assignment_expression "bVar23 = puVar8 == (undefined4 *)0x0" (identifier "bVar23") (= "=") (binary_expression "puVar8 == (undefined4 *)0x0" (identifier "puVar8") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (expression_statement "bVar4 = bVar6;" (assignment_expression "bVar4 = bVar6" (identifier "bVar4") (= "=") (identifier "bVar6")) (; ";")) (expression_statement "bVar24 = bVar21;" (assignment_expression "bVar24 = bVar21" (identifier "bVar24") (= "=") (identifier "bVar21")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(!bVar23)" (( "(") (unary_expression "!bVar23" (! "!") (identifier "bVar23")) () ")")) (; ";")) (if_statement "if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }" (if "if") (parenthesized_expression "(((bool)(bVar6 & iVar17 != 0)) && (!bVar21))" (( "(") (binary_expression "((bool)(bVar6 & iVar17 != 0)) && (!bVar21)" (parenthesized_expression "((bool)(bVar6 & iVar17 != 0))" (( "(") (cast_expression "(bool)(bVar6 & iVar17 != 0)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar6 & iVar17 != 0)" (( "(") (binary_expression "bVar6 & iVar17 != 0" (identifier "bVar6") (& "&") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(!bVar21)" (( "(") (unary_expression "!bVar21" (! "!") (identifier "bVar21")) () ")"))) () ")")) (compound_statement "{\n          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }\n        }" ({ "{") (while_statement "while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }" (while "while") (parenthesized_expression "(iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7)" (( "(") (comma_expression "iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7" (assignment_expression "iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38)" (identifier "iVar7") (= "=") (call_expression "bfd_get_reloc_upper_bound(iVar7,local_38)" (identifier "bfd_get_reloc_upper_bound") (argument_list "(iVar7,local_38)" (( "(") (identifier "iVar7") (, ",") (identifier "local_38") () ")")))) (, ",") (binary_expression "0 < iVar7" (number_literal "0") (< "<") (identifier "iVar7"))) () ")")) (compound_statement "{\n            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));\n            if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }\n            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);\n            puVar8 = (undefined4 *)xmalloc(iVar7);\n            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);\n            if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }\n            puVar18 = puVar8;\n            if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }\n            free(puVar8);\n            local_38 = (undefined4 *)local_38[3];\n            if (local_38 == (undefined4 *)0x0) break;\n            iVar7 = *(int *)(local_40 + 0x10);\n          }" ({ "{") (expression_statement "iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));" (assignment_expression "iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10))" (identifier "iVar17") (= "=") (call_expression "bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10))" (identifier "bfd_generic_link_read_symbols") (argument_list "(*(undefined4 *)(local_40 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(local_40 + 0x10)" (* "*") (cast_expression "(undefined4 *)(local_40 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 0x10)" (( "(") (binary_expression "local_40 + 0x10" (identifier "local_40") (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar17 == 0) {\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar12 = *(undefined4 *)(local_40 + 0x10);\n              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);\n              FUN_00034d20(uVar15,uVar12);\n              return;\n            }" ({ "{") (expression_statement "uVar12 = *(undefined4 *)(local_40 + 0x10);" (assignment_expression "uVar12 = *(undefined4 *)(local_40 + 0x10)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(local_40 + 0x10)" (* "*") (cast_expression "(undefined4 *)(local_40 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 0x10)" (( "(") (binary_expression "local_40 + 0x10" (identifier "local_40") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);" (assignment_expression "uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: %pB: could not read symbols: %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: %pB: could not read symbols: %E\n"" (" """) (string_content "%F%P: %pB: could not read symbols: %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00034d20(uVar15,uVar12);" (call_expression "FUN_00034d20(uVar15,uVar12)" (identifier "FUN_00034d20") (argument_list "(uVar15,uVar12)" (( "(") (identifier "uVar15") (, ",") (identifier "uVar12") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);" (assignment_expression "uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78)" (* "*") (cast_expression "(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_40 + 0x10) + 0x78)" (( "(") (binary_expression "*(int *)(local_40 + 0x10) + 0x78" (pointer_expression "*(int *)(local_40 + 0x10)" (* "*") (cast_expression "(int *)(local_40 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 0x10)" (( "(") (binary_expression "local_40 + 0x10" (identifier "local_40") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (expression_statement "puVar8 = (undefined4 *)xmalloc(iVar7);" (assignment_expression "puVar8 = (undefined4 *)xmalloc(iVar7)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)xmalloc(iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(iVar7)" (identifier "xmalloc") (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")"))))) (; ";")) (expression_statement "iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);" (assignment_expression "iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12)" (identifier "iVar7") (= "=") (call_expression "bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12)" (identifier "bfd_canonicalize_reloc") (argument_list "(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12)" (( "(") (pointer_expression "*(undefined4 *)(local_40 + 0x10)" (* "*") (cast_expression "(undefined4 *)(local_40 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 0x10)" (( "(") (binary_expression "local_40 + 0x10" (identifier "local_40") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "local_38") (, ",") (identifier "puVar8") (, ",") (identifier "uVar12") () ")")))) (; ";")) (if_statement "if (iVar7 < 0) {\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              free(puVar8);\n              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);\n              FUN_00034d20(uVar12);\n              return;\n            }" ({ "{") (expression_statement "free(puVar8);" (call_expression "free(puVar8)" (identifier "free") (argument_list "(puVar8)" (( "(") (identifier "puVar8") () ")"))) (; ";")) (expression_statement "uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);" (assignment_expression "uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"%X%P: unable to process relocs: %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%X%P: unable to process relocs: %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%X%P: unable to process relocs: %E\n"" (" """) (string_content "%X%P: unable to process relocs: %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00034d20(uVar12);" (call_expression "FUN_00034d20(uVar12)" (identifier "FUN_00034d20") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar18 = puVar8;" (assignment_expression "puVar18 = puVar8" (identifier "puVar18") (= "=") (identifier "puVar8")) (; ";")) (if_statement "if (iVar7 != 0) {\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);\n            }" ({ "{") (do_statement "do {\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              } while (puVar18 != puVar8 + iVar7);" (do "do") (compound_statement "{\n                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }\n                puVar18 = puVar18 + 1;\n              }" ({ "{") (if_statement "if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }" (if "if") (parenthesized_expression "((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03'))" (( "(") (binary_expression "(((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')" (parenthesized_expression "(((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0))" (( "(") (binary_expression "((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&\n                    (iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)" (parenthesized_expression "((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0" (parenthesized_expression "(*(byte *)(**(int **)*puVar18 + 0x10) & 1)" (( "(") (binary_expression "*(byte *)(**(int **)*puVar18 + 0x10) & 1" (pointer_expression "*(byte *)(**(int **)*puVar18 + 0x10)" (* "*") (cast_expression "(byte *)(**(int **)*puVar18 + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)*puVar18 + 0x10)" (( "(") (binary_expression "**(int **)*puVar18 + 0x10" (pointer_expression "**(int **)*puVar18" (* "*") (pointer_expression "*(int **)*puVar18" (* "*") (cast_expression "(int **)*puVar18" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18"))))) (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0)" (( "(") (comma_expression "iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)\n                    , iVar17 != 0" (assignment_expression "iVar17 = bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)" (identifier "iVar17") (= "=") (call_expression "bfd_link_hash_lookup\n                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)" (identifier "bfd_link_hash_lookup") (argument_list "(DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)" (( "(") (identifier "DAT_001d1400") (, ",") (pointer_expression "*(undefined4 *)(**(int **)*puVar18 + 4)" (* "*") (cast_expression "(undefined4 *)(**(int **)*puVar18 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)*puVar18 + 4)" (( "(") (binary_expression "**(int **)*puVar18 + 4" (pointer_expression "**(int **)*puVar18" (* "*") (pointer_expression "*(int **)*puVar18" (* "*") (cast_expression "(int **)*puVar18" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18"))))) (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")")))) (, ",") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar17 + 0xc) == '\x03')" (( "(") (binary_expression "*(char *)(iVar17 + 0xc) == '\x03'" (pointer_expression "*(char *)(iVar17 + 0xc)" (* "*") (cast_expression "(char *)(iVar17 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0xc)" (( "(") (binary_expression "iVar17 + 0xc" (identifier "iVar17") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);\n                  puVar9 = (undefined4 *)puVar2[0x23];\n                  if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }\n                  pcVar13 = (char *)*puVar9;\n                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;\n                  if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }\n                }" ({ "{") (expression_statement "puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);" (assignment_expression "puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac)" (identifier "puVar2") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac)" (* "*") (cast_expression "(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(iVar17 + 0x14) + 0xac)" (( "(") (binary_expression "*(int *)(iVar17 + 0x14) + 0xac" (pointer_expression "*(int *)(iVar17 + 0x14)" (* "*") (cast_expression "(int *)(iVar17 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x14)" (( "(") (binary_expression "iVar17 + 0x14" (identifier "iVar17") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xac")) () ")"))))) (; ";")) (expression_statement "puVar9 = (undefined4 *)puVar2[0x23];" (assignment_expression "puVar9 = (undefined4 *)puVar2[0x23]" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)puVar2[0x23]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar2[0x23]" (identifier "puVar2") ([ "[") (number_literal "0x23") (] "]")))) (; ";")) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n                    puVar9 = puVar2;\n                  }" (if "if") (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar9 == (undefined4 *)0x0" (identifier "puVar9") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    puVar9 = puVar2;\n                  }" ({ "{") (expression_statement "puVar9 = puVar2;" (assignment_expression "puVar9 = puVar2" (identifier "puVar9") (= "=") (identifier "puVar2")) (; ";")) (} "}"))) (expression_statement "pcVar13 = (char *)*puVar9;" (assignment_expression "pcVar13 = (char *)*puVar9" (identifier "pcVar13") (= "=") (cast_expression "(char *)*puVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")))) (; ";")) (expression_statement "iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)\n                  ;" (assignment_expression "iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)" (identifier "iVar17") (= "=") (call_expression "filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)" (identifier "filename_cmp") (argument_list "(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)" (( "(") (pointer_expression "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" (* "*") (pointer_expression "*(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" (* "*") (cast_expression "(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(local_40 + 0x10) + 0x8c)" (( "(") (binary_expression "*(int *)(local_40 + 0x10) + 0x8c" (pointer_expression "*(int *)(local_40 + 0x10)" (* "*") (cast_expression "(int *)(local_40 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 0x10)" (( "(") (binary_expression "local_40 + 0x10" (identifier "local_40") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x8c")) () ")"))))) (, ",") (identifier "pcVar13") () ")")))) (; ";")) (if_statement "if (iVar17 != 0) {\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }" (if "if") (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    sVar10 = strlen(pcVar13);\n                    pcVar11 = (char *)xmalloc(sVar10 + 1);\n                    strcpy(pcVar11,pcVar13);\n                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;\n                  }" ({ "{") (expression_statement "sVar10 = strlen(pcVar13);" (assignment_expression "sVar10 = strlen(pcVar13)" (identifier "sVar10") (= "=") (call_expression "strlen(pcVar13)" (identifier "strlen") (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")")))) (; ";")) (expression_statement "pcVar11 = (char *)xmalloc(sVar10 + 1);" (assignment_expression "pcVar11 = (char *)xmalloc(sVar10 + 1)" (identifier "pcVar11") (= "=") (cast_expression "(char *)xmalloc(sVar10 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar10 + 1)" (identifier "xmalloc") (argument_list "(sVar10 + 1)" (( "(") (binary_expression "sVar10 + 1" (identifier "sVar10") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "strcpy(pcVar11,pcVar13);" (call_expression "strcpy(pcVar11,pcVar13)" (identifier "strcpy") (argument_list "(pcVar11,pcVar13)" (( "(") (identifier "pcVar11") (, ",") (identifier "pcVar13") () ")"))) (; ";")) (expression_statement "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;" (assignment_expression "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11" (pointer_expression "**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" (* "*") (pointer_expression "*(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" (* "*") (cast_expression "(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(local_40 + 0x10) + 0x8c)" (( "(") (binary_expression "*(int *)(local_40 + 0x10) + 0x8c" (pointer_expression "*(int *)(local_40 + 0x10)" (* "*") (cast_expression "(int *)(local_40 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 0x10)" (( "(") (binary_expression "local_40 + 0x10" (identifier "local_40") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x8c")) () ")"))))) (= "=") (identifier "pcVar11")) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar18 = puVar18 + 1;" (assignment_expression "puVar18 = puVar18 + 1" (identifier "puVar18") (= "=") (binary_expression "puVar18 + 1" (identifier "puVar18") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar18 != puVar8 + iVar7)" (( "(") (binary_expression "puVar18 != puVar8 + iVar7" (identifier "puVar18") (!= "!=") (binary_expression "puVar8 + iVar7" (identifier "puVar8") (+ "+") (identifier "iVar7"))) () ")")) (; ";")) (} "}"))) (expression_statement "free(puVar8);" (call_expression "free(puVar8)" (identifier "free") (argument_list "(puVar8)" (( "(") (identifier "puVar8") () ")"))) (; ";")) (expression_statement "local_38 = (undefined4 *)local_38[3];" (assignment_expression "local_38 = (undefined4 *)local_38[3]" (identifier "local_38") (= "=") (cast_expression "(undefined4 *)local_38[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_38[3]" (identifier "local_38") ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if (local_38 == (undefined4 *)0x0) break;" (if "if") (parenthesized_expression "(local_38 == (undefined4 *)0x0)" (( "(") (binary_expression "local_38 == (undefined4 *)0x0" (identifier "local_38") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = *(int *)(local_40 + 0x10);" (assignment_expression "iVar7 = *(int *)(local_40 + 0x10)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(local_40 + 0x10)" (* "*") (cast_expression "(int *)(local_40 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 0x10)" (( "(") (binary_expression "local_40 + 0x10" (identifier "local_40") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "local_40 = *(int *)(local_40 + 0x18);" (assignment_expression "local_40 = *(int *)(local_40 + 0x18)" (identifier "local_40") (= "=") (pointer_expression "*(int *)(local_40 + 0x18)" (* "*") (cast_expression "(int *)(local_40 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 0x18)" (( "(") (binary_expression "local_40 + 0x18" (identifier "local_40") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_40 != 0)" (( "(") (binary_expression "local_40 != 0" (identifier "local_40") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "local_50 = DAT_001d06bc;" (assignment_expression "local_50 = DAT_001d06bc" (identifier "local_50") (= "=") (identifier "DAT_001d06bc")) (; ";")) (if_statement "if (DAT_001d06bc != 0) {\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }" (if "if") (parenthesized_expression "(DAT_001d06bc != 0)" (( "(") (binary_expression "DAT_001d06bc != 0" (identifier "DAT_001d06bc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      bVar24 = false;\n      iVar7 = 0;\n      do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);\n    }" ({ "{") (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      } while (local_50 != 0);" (do "do") (compound_statement "{\n        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];\n        if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }\nLAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);\n      }" ({ "{") (expression_statement "iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];" (assignment_expression "iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23]" (identifier "iVar17") (= "=") (subscript_expression "(*(undefined4 **)(local_50 + 0x10))[0x23]" (parenthesized_expression "(*(undefined4 **)(local_50 + 0x10))" (( "(") (pointer_expression "*(undefined4 **)(local_50 + 0x10)" (* "*") (cast_expression "(undefined4 **)(local_50 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_50 + 0x10)" (( "(") (binary_expression "local_50 + 0x10" (identifier "local_50") (+ "+") (number_literal "0x10")) () ")")))) () ")")) ([ "[") (number_literal "0x23") (] "]"))) (; ";")) (if_statement "if (iVar17 != 0) {\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }" (if "if") (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          iVar16 = local_50;\n          if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }\n          bVar24 = true;\n          iVar16 = filename_cmp(pcVar13,".dll");\n          iVar7 = iVar17;\n          if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }\n        }" ({ "{") (expression_statement "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);" (assignment_expression "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" (identifier "pcVar13") (= "=") (call_expression "strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" (identifier "strrchr") (argument_list "((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" (( "(") (cast_expression "(char *)**(undefined4 **)(local_50 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(local_50 + 0x10)" (* "*") (pointer_expression "*(undefined4 **)(local_50 + 0x10)" (* "*") (cast_expression "(undefined4 **)(local_50 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_50 + 0x10)" (( "(") (binary_expression "local_50 + 0x10" (identifier "local_50") (+ "+") (number_literal "0x10")) () ")")))))) (, ",") (number_literal "0x2e") () ")")))) (; ";")) (expression_statement "iVar16 = local_50;" (assignment_expression "iVar16 = local_50" (identifier "iVar16") (= "=") (identifier "local_50")) (; ";")) (if_statement "if (iVar7 == iVar17) {\n            if (!bVar24) goto LAB_00053a60;\n          }\n          else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }" (if "if") (parenthesized_expression "(iVar7 == iVar17)" (( "(") (binary_expression "iVar7 == iVar17" (identifier "iVar7") (== "==") (identifier "iVar17")) () ")")) (compound_statement "{\n            if (!bVar24) goto LAB_00053a60;\n          }" ({ "{") (if_statement "if (!bVar24) goto LAB_00053a60;" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (goto_statement "goto LAB_00053a60;" (goto "goto") (statement_identifier "LAB_00053a60") (; ";"))) (} "}")) (else_clause "else {\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }" (else "else") (compound_statement "{\n            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }\n            do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);\n            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);\n          }" ({ "{") (while_statement "while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }" (while "while") (parenthesized_expression "((iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)))" (( "(") (parenthesized_expression "(iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))" (( "(") (comma_expression "iVar7 = local_50, pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)" (assignment_expression "iVar7 = local_50" (identifier "iVar7") (= "=") (identifier "local_50")) (, ",") (binary_expression "pcVar13 == (char *)0x0 ||\n                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)" (binary_expression "pcVar13 == (char *)0x0" (identifier "pcVar13") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0)" (( "(") (comma_expression "iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0" (assignment_expression "iVar14 = filename_cmp(pcVar13,".dll")" (identifier "iVar14") (= "=") (call_expression "filename_cmp(pcVar13,".dll")" (identifier "filename_cmp") (argument_list "(pcVar13,".dll")" (( "(") (identifier "pcVar13") (, ",") (string_literal "".dll"" (" """) (string_content ".dll") (" """)) () ")")))) (, ",") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0"))) () ")")))) () ")")) () ")")) (compound_statement "{\n              iVar16 = *(int *)(iVar16 + 0x18);\n              if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }\n              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;\n              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);\n            }" ({ "{") (expression_statement "iVar16 = *(int *)(iVar16 + 0x18);" (assignment_expression "iVar16 = *(int *)(iVar16 + 0x18)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar16 + 0x18)" (* "*") (cast_expression "(int *)(iVar16 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x18)" (( "(") (binary_expression "iVar16 + 0x18" (identifier "iVar16") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (iVar16 == 0) {\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                bVar24 = false;\n                iVar7 = iVar17;\n                goto LAB_00053a60;\n              }" ({ "{") (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" (identifier "iVar7") (= "=") (identifier "iVar17")) (; ";")) (goto_statement "goto LAB_00053a60;" (goto "goto") (statement_identifier "LAB_00053a60") (; ";")) (} "}"))) (if_statement "if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;" (if "if") (parenthesized_expression "(iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23])" (( "(") (binary_expression "iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]" (identifier "iVar17") (!= "!=") (subscript_expression "(*(undefined4 **)(iVar16 + 0x10))[0x23]" (parenthesized_expression "(*(undefined4 **)(iVar16 + 0x10))" (( "(") (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" (* "*") (cast_expression "(undefined4 **)(iVar16 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar16 + 0x10)" (( "(") (binary_expression "iVar16 + 0x10" (identifier "iVar16") (+ "+") (number_literal "0x10")) () ")")))) () ")")) ([ "[") (number_literal "0x23") (] "]"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);" (assignment_expression "pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e)" (identifier "pcVar13") (= "=") (call_expression "strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e)" (identifier "strrchr") (argument_list "((char *)**(undefined4 **)(iVar16 + 0x10),0x2e)" (( "(") (cast_expression "(char *)**(undefined4 **)(iVar16 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(iVar16 + 0x10)" (* "*") (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" (* "*") (cast_expression "(undefined4 **)(iVar16 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar16 + 0x10)" (( "(") (binary_expression "iVar16 + 0x10" (identifier "iVar16") (+ "+") (number_literal "0x10")) () ")")))))) (, ",") (number_literal "0x2e") () ")")))) (; ";")) (} "}"))) (do_statement "do {\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            } while (*piVar1 != 0);" (do "do") (compound_statement "{\n              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;\n              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n              pcVar11 = strrchr(pcVar13,0x2e);\n              if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }\n              piVar1 = (int *)(iVar7 + 0x18);\n              iVar7 = *piVar1;\n            }" ({ "{") (if_statement "if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;" (if "if") (parenthesized_expression "(iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23])" (( "(") (binary_expression "iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]" (identifier "iVar17") (!= "!=") (subscript_expression "(*(undefined4 **)(iVar7 + 0x10))[0x23]" (parenthesized_expression "(*(undefined4 **)(iVar7 + 0x10))" (( "(") (pointer_expression "*(undefined4 **)(iVar7 + 0x10)" (* "*") (cast_expression "(undefined4 **)(iVar7 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")")))) () ")")) ([ "[") (number_literal "0x23") (] "]"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);" (assignment_expression "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10)" (identifier "pcVar13") (= "=") (cast_expression "(char *)**(undefined4 **)(iVar7 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(iVar7 + 0x10)" (* "*") (pointer_expression "*(undefined4 **)(iVar7 + 0x10)" (* "*") (cast_expression "(undefined4 **)(iVar7 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")"))))))) (; ";")) (expression_statement "pcVar11 = strrchr(pcVar13,0x2e);" (assignment_expression "pcVar11 = strrchr(pcVar13,0x2e)" (identifier "pcVar11") (= "=") (call_expression "strrchr(pcVar13,0x2e)" (identifier "strrchr") (argument_list "(pcVar13,0x2e)" (( "(") (identifier "pcVar13") (, ",") (number_literal "0x2e") () ")")))) (; ";")) (if_statement "if (pcVar11 == (char *)0x0) {\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }\n              else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }" (if "if") (parenthesized_expression "(pcVar11 == (char *)0x0)" (( "(") (binary_expression "pcVar11 == (char *)0x0" (identifier "pcVar11") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);\n                if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }\n              }" ({ "{") (labeled_statement "LAB_00053b30:\n                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);" (statement_identifier "LAB_00053b30") (: ":") (expression_statement "iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);" (assignment_expression "iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13)" (identifier "iVar14") (= "=") (call_expression "filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13)" (identifier "filename_cmp") (argument_list "(**(undefined4 **)(iVar16 + 0x10),pcVar13)" (( "(") (pointer_expression "**(undefined4 **)(iVar16 + 0x10)" (* "*") (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" (* "*") (cast_expression "(undefined4 **)(iVar16 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar16 + 0x10)" (( "(") (binary_expression "iVar16 + 0x10" (identifier "iVar16") (+ "+") (number_literal "0x10")) () ")"))))) (, ",") (identifier "pcVar13") () ")")))) (; ";"))) (if_statement "if (iVar14 != 0) {\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  bVar24 = false;\n                  iVar7 = iVar17;\n                  goto LAB_00053a60;\n                }" ({ "{") (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" (identifier "iVar7") (= "=") (identifier "iVar17")) (; ";")) (goto_statement "goto LAB_00053a60;" (goto "goto") (statement_identifier "LAB_00053a60") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }" (else "else") (compound_statement "{\n                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);\n                if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }\n              }" ({ "{") (expression_statement "iVar14 = filename_cmp(pcVar11,&DAT_00193d01);" (assignment_expression "iVar14 = filename_cmp(pcVar11,&DAT_00193d01)" (identifier "iVar14") (= "=") (call_expression "filename_cmp(pcVar11,&DAT_00193d01)" (identifier "filename_cmp") (argument_list "(pcVar11,&DAT_00193d01)" (( "(") (identifier "pcVar11") (, ",") (pointer_expression "&DAT_00193d01" (& "&") (identifier "DAT_00193d01")) () ")")))) (; ";")) (if_statement "if (iVar14 != 0) {\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);\n                  goto LAB_00053b30;\n                }" ({ "{") (expression_statement "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);" (assignment_expression "pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10)" (identifier "pcVar13") (= "=") (cast_expression "(char *)**(undefined4 **)(iVar7 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(iVar7 + 0x10)" (* "*") (pointer_expression "*(undefined4 **)(iVar7 + 0x10)" (* "*") (cast_expression "(undefined4 **)(iVar7 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")"))))))) (; ";")) (goto_statement "goto LAB_00053b30;" (goto "goto") (statement_identifier "LAB_00053b30") (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar1 = (int *)(iVar7 + 0x18);" (assignment_expression "piVar1 = (int *)(iVar7 + 0x18)" (identifier "piVar1") (= "=") (cast_expression "(int *)(iVar7 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" (identifier "iVar7") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*piVar1 != 0)" (( "(") (binary_expression "*piVar1 != 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);" (assignment_expression "pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" (identifier "pcVar13") (= "=") (call_expression "strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" (identifier "strrchr") (argument_list "((char *)**(undefined4 **)(local_50 + 0x10),0x2e)" (( "(") (cast_expression "(char *)**(undefined4 **)(local_50 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(local_50 + 0x10)" (* "*") (pointer_expression "*(undefined4 **)(local_50 + 0x10)" (* "*") (cast_expression "(undefined4 **)(local_50 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_50 + 0x10)" (( "(") (binary_expression "local_50 + 0x10" (identifier "local_50") (+ "+") (number_literal "0x10")) () ")")))))) (, ",") (number_literal "0x2e") () ")")))) (; ";")) (} "}")))) (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" (identifier "bVar24") (= "=") (true "true")) (; ";")) (expression_statement "iVar16 = filename_cmp(pcVar13,".dll");" (assignment_expression "iVar16 = filename_cmp(pcVar13,".dll")" (identifier "iVar16") (= "=") (call_expression "filename_cmp(pcVar13,".dll")" (identifier "filename_cmp") (argument_list "(pcVar13,".dll")" (( "(") (identifier "pcVar13") (, ",") (string_literal "".dll"" (" """) (string_content ".dll") (" """)) () ")")))) (; ";")) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" (identifier "iVar7") (= "=") (identifier "iVar17")) (; ";")) (if_statement "if (iVar16 == 0) {\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];\n            if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }\n            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);\n            **(undefined4 **)(local_50 + 0x10) = pcVar13;\n            sVar10 = strlen(*(char **)(local_50 + 8));\n            pcVar13 = (char *)xmalloc(sVar10 + 3);\n            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);\n            *(char **)(local_50 + 8) = pcVar13;\n            bVar24 = true;\n            iVar7 = iVar17;\n          }" ({ "{") (expression_statement "puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];" (assignment_expression "puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18]" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(*(undefined4 **)(local_50 + 0x10))[0x18]" (parenthesized_expression "(*(undefined4 **)(local_50 + 0x10))" (( "(") (pointer_expression "*(undefined4 **)(local_50 + 0x10)" (* "*") (cast_expression "(undefined4 **)(local_50 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_50 + 0x10)" (( "(") (binary_expression "local_50 + 0x10" (identifier "local_50") (+ "+") (number_literal "0x10")) () ")")))) () ")")) ([ "[") (number_literal "0x18") (] "]")))) (; ";")) (if_statement "if (puVar8 == (undefined4 *)0x0) {\n              iVar7 = 99;\n            }\n            else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }" (if "if") (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 == (undefined4 *)0x0" (identifier "puVar8") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              iVar7 = 99;\n            }" ({ "{") (expression_statement "iVar7 = 99;" (assignment_expression "iVar7 = 99" (identifier "iVar7") (= "=") (number_literal "99")) (; ";")) (} "}")) (else_clause "else {\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }" (else "else") (compound_statement "{\n              bVar23 = true;\n              iVar16 = 0;\n              bVar24 = false;\n              do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);\n              iVar7 = 0x61;\n              if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }\n            }" ({ "{") (expression_statement "bVar23 = true;" (assignment_expression "bVar23 = true" (identifier "bVar23") (= "=") (true "true")) (; ";")) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (do_statement "do {\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              } while (!bVar23);" (do "do") (compound_statement "{\n                bVar21 = false;\n                iVar7 = 9;\n                pbVar19 = (byte *)*puVar8;\n                pbVar20 = (byte *)".idata$2";\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);\n                if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }\n                iVar16 = iVar16 + puVar8[0x19];\n                puVar8 = (undefined4 *)puVar8[3];\n                bVar23 = puVar8 == (undefined4 *)0x0;\n              }" ({ "{") (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "iVar7 = 9;" (assignment_expression "iVar7 = 9" (identifier "iVar7") (= "=") (number_literal "9")) (; ";")) (expression_statement "pbVar19 = (byte *)*puVar8;" (assignment_expression "pbVar19 = (byte *)*puVar8" (identifier "pbVar19") (= "=") (cast_expression "(byte *)*puVar8" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) (; ";")) (expression_statement "pbVar20 = (byte *)".idata$2";" (assignment_expression "pbVar20 = (byte *)".idata$2"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)".idata$2"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".idata$2"" (" """) (string_content ".idata$2") (" """)))) (; ";")) (do_statement "do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                } while (bVar23);" (do "do") (compound_statement "{\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar21 = *pbVar19 < *pbVar20;\n                  bVar23 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                }" ({ "{") (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar21 = *pbVar19 < *pbVar20;" (assignment_expression "bVar21 = *pbVar19 < *pbVar20" (identifier "bVar21") (= "=") (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar23 = *pbVar19 == *pbVar20;" (assignment_expression "bVar23 = *pbVar19 == *pbVar20" (identifier "bVar23") (= "=") (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (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 "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" (identifier "pbVar20") (+ "+") (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 "(bVar23)" (( "(") (identifier "bVar23") () ")")) (; ";")) (if_statement "if ((!bVar21 && !bVar23) == bVar21) {\n                  bVar24 = true;\n                }" (if "if") (parenthesized_expression "((!bVar21 && !bVar23) == bVar21)" (( "(") (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" (( "(") (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" (! "!") (identifier "bVar21")) (&& "&&") (unary_expression "!bVar23" (! "!") (identifier "bVar23"))) () ")")) (== "==") (identifier "bVar21")) () ")")) (compound_statement "{\n                  bVar24 = true;\n                }" ({ "{") (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" (identifier "bVar24") (= "=") (true "true")) (; ";")) (} "}"))) (expression_statement "iVar16 = iVar16 + puVar8[0x19];" (assignment_expression "iVar16 = iVar16 + puVar8[0x19]" (identifier "iVar16") (= "=") (binary_expression "iVar16 + puVar8[0x19]" (identifier "iVar16") (+ "+") (subscript_expression "puVar8[0x19]" (identifier "puVar8") ([ "[") (number_literal "0x19") (] "]")))) (; ";")) (expression_statement "puVar8 = (undefined4 *)puVar8[3];" (assignment_expression "puVar8 = (undefined4 *)puVar8[3]" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)puVar8[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "bVar23 = puVar8 == (undefined4 *)0x0;" (assignment_expression "bVar23 = puVar8 == (undefined4 *)0x0" (identifier "bVar23") (= "=") (binary_expression "puVar8 == (undefined4 *)0x0" (identifier "puVar8") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(!bVar23)" (( "(") (unary_expression "!bVar23" (! "!") (identifier "bVar23")) () ")")) (; ";")) (expression_statement "iVar7 = 0x61;" (assignment_expression "iVar7 = 0x61" (identifier "iVar7") (= "=") (number_literal "0x61")) (; ";")) (if_statement "if (!bVar24) {\n                iVar7 = (iVar16 < 1) + 0x62;\n              }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                iVar7 = (iVar16 < 1) + 0x62;\n              }" ({ "{") (expression_statement "iVar7 = (iVar16 < 1) + 0x62;" (assignment_expression "iVar7 = (iVar16 < 1) + 0x62" (identifier "iVar7") (= "=") (binary_expression "(iVar16 < 1) + 0x62" (parenthesized_expression "(iVar16 < 1)" (( "(") (binary_expression "iVar16 < 1" (identifier "iVar16") (< "<") (number_literal "1")) () ")")) (+ "+") (number_literal "0x62"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));" (assignment_expression "sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10))" (identifier "sVar10") (= "=") (call_expression "strlen((char *)**(undefined4 **)(local_50 + 0x10))" (identifier "strlen") (argument_list "((char *)**(undefined4 **)(local_50 + 0x10))" (( "(") (cast_expression "(char *)**(undefined4 **)(local_50 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(local_50 + 0x10)" (* "*") (pointer_expression "*(undefined4 **)(local_50 + 0x10)" (* "*") (cast_expression "(undefined4 **)(local_50 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_50 + 0x10)" (( "(") (binary_expression "local_50 + 0x10" (identifier "local_50") (+ "+") (number_literal "0x10")) () ")")))))) () ")")))) (; ";")) (expression_statement "pcVar13 = (char *)xmalloc(sVar10 + 3);" (assignment_expression "pcVar13 = (char *)xmalloc(sVar10 + 3)" (identifier "pcVar13") (= "=") (cast_expression "(char *)xmalloc(sVar10 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar10 + 3)" (identifier "xmalloc") (argument_list "(sVar10 + 3)" (( "(") (binary_expression "sVar10 + 3" (identifier "sVar10") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);" (call_expression "sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7)" (identifier "sprintf") (argument_list "(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7)" (( "(") (identifier "pcVar13") (, ",") (string_literal ""%s.%c"" (" """) (string_content "%s.%c") (" """)) (, ",") (pointer_expression "**(undefined4 **)(local_50 + 0x10)" (* "*") (pointer_expression "*(undefined4 **)(local_50 + 0x10)" (* "*") (cast_expression "(undefined4 **)(local_50 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_50 + 0x10)" (( "(") (binary_expression "local_50 + 0x10" (identifier "local_50") (+ "+") (number_literal "0x10")) () ")"))))) (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "**(undefined4 **)(local_50 + 0x10) = pcVar13;" (assignment_expression "**(undefined4 **)(local_50 + 0x10) = pcVar13" (pointer_expression "**(undefined4 **)(local_50 + 0x10)" (* "*") (pointer_expression "*(undefined4 **)(local_50 + 0x10)" (* "*") (cast_expression "(undefined4 **)(local_50 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_50 + 0x10)" (( "(") (binary_expression "local_50 + 0x10" (identifier "local_50") (+ "+") (number_literal "0x10")) () ")"))))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "sVar10 = strlen(*(char **)(local_50 + 8));" (assignment_expression "sVar10 = strlen(*(char **)(local_50 + 8))" (identifier "sVar10") (= "=") (call_expression "strlen(*(char **)(local_50 + 8))" (identifier "strlen") (argument_list "(*(char **)(local_50 + 8))" (( "(") (pointer_expression "*(char **)(local_50 + 8)" (* "*") (cast_expression "(char **)(local_50 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_50 + 8)" (( "(") (binary_expression "local_50 + 8" (identifier "local_50") (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "pcVar13 = (char *)xmalloc(sVar10 + 3);" (assignment_expression "pcVar13 = (char *)xmalloc(sVar10 + 3)" (identifier "pcVar13") (= "=") (cast_expression "(char *)xmalloc(sVar10 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar10 + 3)" (identifier "xmalloc") (argument_list "(sVar10 + 3)" (( "(") (binary_expression "sVar10 + 3" (identifier "sVar10") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);" (call_expression "sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7)" (identifier "sprintf") (argument_list "(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7)" (( "(") (identifier "pcVar13") (, ",") (string_literal ""%s.%c"" (" """) (string_content "%s.%c") (" """)) (, ",") (pointer_expression "*(undefined4 *)(local_50 + 8)" (* "*") (cast_expression "(undefined4 *)(local_50 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_50 + 8)" (( "(") (binary_expression "local_50 + 8" (identifier "local_50") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "*(char **)(local_50 + 8) = pcVar13;" (assignment_expression "*(char **)(local_50 + 8) = pcVar13" (pointer_expression "*(char **)(local_50 + 8)" (* "*") (cast_expression "(char **)(local_50 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_50 + 8)" (( "(") (binary_expression "local_50 + 8" (identifier "local_50") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" (identifier "bVar24") (= "=") (true "true")) (; ";")) (expression_statement "iVar7 = iVar17;" (assignment_expression "iVar7 = iVar17" (identifier "iVar7") (= "=") (identifier "iVar17")) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00053a60:\n        local_50 = *(int *)(local_50 + 0x18);" (statement_identifier "LAB_00053a60") (: ":") (expression_statement "local_50 = *(int *)(local_50 + 0x18);" (assignment_expression "local_50 = *(int *)(local_50 + 0x18)" (identifier "local_50") (= "=") (pointer_expression "*(int *)(local_50 + 0x18)" (* "*") (cast_expression "(int *)(local_50 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_50 + 0x18)" (( "(") (binary_expression "local_50 + 0x18" (identifier "local_50") (+ "+") (number_literal "0x18")) () ")"))))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(local_50 != 0)" (( "(") (binary_expression "local_50 != 0" (identifier "local_50") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  type_1 *paVar1;
  type_2 *ppVar2;
  type_3 *peVar3;
  type_4 **ppbVar4;
  type_5 *puVar5;
  type_6 var_56;
  type_7 *var_15;
  type_5 uVar8;
  type_8 bVar9;
  type_7 *pbVar10;
  type_8 var_43;
  type_9 var_8;
  type_10 *var_10;
  type_11 *var_5;
  type_5 *var_54;
  type_5 *var_48;
  size_t var_51;
  char *var_30;
  char *var_59;
  type_12 *var_42;
  char *fmt;
  int var_17;
  int var_37;
  type_13 *pwVar22;
  type_14 *var_22;
  type_15 *piVar24;
  type_5 *var_53;
  type_8 *var_38;
  type_6 *var_18;
  type_6 var_58;
  type_14 *var_60;
  type_8 *var_39;
  bool var_40;
  bool var_41;
  bool bVar33;
  bool bVar34;
  type_8 bVar35;
  type_14 *var_62;
  type_14 *var_55;
  type_12 *var_36;
  int var_21;
  type_5 uStack_14;
  
  bVar35 = 0;
  uStack_14 = 0x535a9;
  var_1();
  var_2();
  if (var_3 == 0) {
LAB_000535da:
    var_5 = link_info.input_bfds;
    if (var_4 != (char *)0x0) {
      for (; var_5 != (type_11 *)0x0; var_5 = (var_5->link).next) {
        if (var_5->xvec->flavour == var_6) {
          var_8 = var_7(var_4);
          if (var_8 == 0) {
            var_59 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            var_10 = (type_10 *)
                      var_9
                                (var_5,".buildid",
                                 " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */
                                );
            var_5 = link_info.output_bfd;
            if (var_10 != (type_10 *)0x0) {
              ppVar2 = ((link_info.output_bfd)->tdata).pe_obj_data;
              (ppVar2->build_id).after_write_object_contents = write_build_id;
              var_59 = var_4;
              var_17 = (ppVar2->coff).pe;
              (ppVar2->build_id).sec = var_10;
              (ppVar2->build_id).style = var_59;
              *(type_5 *)&var_10->size = 0x35;
              *(type_5 *)((int)&var_10->size + 4) = 0;
              goto joined_r0x00053689;
            }
            var_59 = "%P: warning: cannot create .buildid section, --build-id ignored\n";
          }
          var_59 = (char *)var_11(0,var_59,5);
          var_12(var_59);
          break;
        }
      }
LAB_000539a9:
      var_13(var_4);
      var_4 = (char *)0x0;
    }
  }
  else {
    var_14("%s()\n","gld_i386pep_after_open");
    for (var_15 = (link_info.hash)->undefs; var_15 != (type_7 *)0x0;
        var_15 = (var_15->u).undef.next) {
      var_14("-%s\n",(var_15->root).string);
    }
    var_16(link_info.hash,pr_sym,0);
    var_5 = link_info.input_bfds;
    if (link_info.input_bfds != (type_11 *)0x0) {
      do {
        var_14("*%s\n",var_5->filename);
        paVar1 = &var_5->link;
        var_5 = paVar1->next;
      } while (paVar1->next != (type_11 *)0x0);
      goto LAB_000535da;
    }
    if (var_4 != (char *)0x0) goto LAB_000539a9;
  }
  var_5 = link_info.output_bfd;
  if (((link_info.output_bfd)->tdata).coff_obj_data != (type_16 *)0x0) {
    var_17 = (((link_info.output_bfd)->tdata).coff_obj_data)->pe;
joined_r0x00053689:
    if (var_17 != 0) goto LAB_00053690;
  }
  var_59 = (char *)var_11(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n"
                              ,5);
  var_12(var_59,var_5);
LAB_00053690:
  var_5 = link_info.output_bfd;
  peVar3 = ((link_info.output_bfd)->tdata).elf_obj_data;
  piVar24 = &pep;
  var_18 = &(peVar3->symtab_hdr).sh_link;
  for (var_17 = 0x52; uVar8 = (type_5)init[1].value, var_17 != 0; var_17 = var_17 + -1) {
    *var_18 = *(type_6 *)piVar24;
    piVar24 = (type_15 *)((int)piVar24 + ((type_6)bVar35 * -2 + 1) * 4);
    var_18 = var_18 + (type_6)bVar35 * -2 + 1;
  }
  var_18 = (type_6 *)((int)&(peVar3->dynversym_hdr).sh_offset + 4);
  *var_18 = *var_18 | 0x20;
  *(type_5 *)&(peVar3->dynversym_hdr).sh_flags = uVar8;
  *(type_9 *)((int)&(peVar3->dynversym_hdr).sh_addr + 4) = insert_timestamp;
  if ((var_19 < 0) && ((link_info._1_1_ & 0x60) == 0)) {
    if ((link_info._0_1_ & 3) == 2) {
      var_19 = 1;
    }
    else if (file_chain.head != (type_14 *)0x0) {
      var_22 = file_chain.head;
      do {
        var_21 = 0;
        var_20((var_22->wild_statement).section_list,debug_section_p,&var_21);
        var_5 = link_info.output_bfd;
        if (var_21 != 0) {
          var_19 = 1;
          break;
        }
        var_22 = (var_22->wild_statement).children.head;
      } while (var_22 != (type_14 *)0x0);
    }
  }
  var_23(var_5);
  var_24(link_info.output_bfd,&link_info);
  if (link_info.pei386_auto_import != 0) {
    var_17 = var_2();
    var_59 = "_head_";
    if (var_17 != 0) {
      var_59 = "__head_";
    }
    var_25(var_59,make_import_fixup);
  }
  if (var_26 != 0) {
    if (var_3 != 0) {
      var_27("pep_fixup_stdcalls");
    }
    for (var_15 = (link_info.hash)->undefs; var_15 != (type_7 *)0x0;
        var_15 = (var_15->u).undef.next) {
      if (var_15->field_0xc != '\x01') goto LAB_00053dd0;
      var_59 = (var_15->root).string;
      if (*var_59 == '@') {
        var_59 = (char *)var_28(var_59);
        *var_59 = '_';
LAB_00053f0f:
        var_30 = var_29(var_59,0x40);
        if (var_30 != (char *)0x0) {
          *var_30 = '\0';
        }
        var_17 = var_31(link_info.hash,var_59,0,0,1);
        if ((var_17 != 0) && (*(char *)(var_17 + 0xc) == '\x03')) {
          var_30 = *(char **)(var_17 + 0x18);
          uVar8 = *(type_5 *)(var_17 + 0x1c);
          var_15->field_0xc = 3;
          var_5 = *(type_11 **)(var_17 + 0x14);
          bVar34 = var_26 == -1;
          (var_15->u).i.warning = var_30;
          *(type_5 *)((int)&var_15->u + 0xc) = uVar8;
          (var_15->u).undef.abfd = var_5;
          if (bVar34) {
            var_30 = (var_15->root).string;
            fmt = (char *)var_11(0,"warning: resolving %s by linking to %s\n",5);
            goto LAB_00053e6d;
          }
        }
      }
      else {
        var_30 = var_29(var_59,0x40);
        if (var_30 != (char *)0x0) {
          var_59 = (char *)var_28(var_59);
          goto LAB_00053f0f;
        }
        var_33 = (type_7 *)0x0;
        var_32(link_info.hash,pep_undef_cdecl_match,var_59);
        pbVar10 = var_33;
        if (var_33 != (type_7 *)0x0) {
          var_59 = (var_33->u).i.warning;
          uVar8 = *(type_5 *)((int)&var_33->u + 0xc);
          var_15->field_0xc = 3;
          bVar34 = var_26 != -1;
          (var_15->u).i.warning = var_59;
          var_5 = (pbVar10->u).undef.abfd;
          *(type_5 *)((int)&var_15->u + 0xc) = uVar8;
          (var_15->u).undef.abfd = var_5;
          if (bVar34) goto LAB_00053dd0;
          var_59 = (pbVar10->root).string;
          var_30 = (var_15->root).string;
          fmt = (char *)var_11(0,"warning: resolving %s by linking to %s\n",5);
LAB_00053e6d:
          var_12(fmt,var_30,var_59);
          if (var_34 == 0) {
            var_34 = 1;
            var_59 = (char *)var_11(0,"Use --enable-stdcall-fixup to disable these warnings\n",5
                                       );
            var_12(var_59);
            var_59 = (char *)var_11(0,"Use --disable-stdcall-fixup to disable these fixups\n",5)
            ;
            var_12(var_59);
          }
        }
      }
LAB_00053dd0:
    }
  }
  if ((link_info._0_1_ & 3) != 2) {
    var_35(link_info.output_bfd,&link_info);
  }
  var_55 = file_chain.head;
  if (file_chain.head != (type_14 *)0x0) {
    do {
      var_5 = (var_55->input_statement).the_bfd;
      if ((var_5->my_archive != (type_11 *)0x0) &&
         (var_36 = var_5->sections, var_36 != (type_12 *)0x0)) {
        var_17 = 0;
        bVar33 = true;
        var_42 = var_36;
        bVar9 = 0;
        bVar34 = false;
        do {
          var_40 = false;
          var_37 = 9;
          var_38 = (type_8 *)var_42->name;
          var_39 = (type_8 *)".idata$2";
          do {
            if (var_37 == 0) break;
            var_37 = var_37 + -1;
            var_40 = *var_38 < *var_39;
            bVar33 = *var_38 == *var_39;
            var_38 = var_38 + (type_6)bVar35 * -2 + 1;
            var_39 = var_39 + (type_6)bVar35 * -2 + 1;
          } while (bVar33);
          var_41 = false;
          bVar33 = (!var_40 && !bVar33) == var_40;
          var_40 = true;
          if (!bVar33) {
            var_40 = bVar34;
          }
          var_37 = 7;
          var_38 = (type_8 *)var_42->name;
          var_39 = (type_8 *)".idata$";
          do {
            if (var_37 == 0) break;
            var_37 = var_37 + -1;
            var_41 = *var_38 < *var_39;
            bVar33 = *var_38 == *var_39;
            var_38 = var_38 + (type_6)bVar35 * -2 + 1;
            var_39 = var_39 + (type_6)bVar35 * -2 + 1;
          } while (bVar33);
          var_43 = 1;
          if ((!var_41 && !bVar33) != var_41) {
            var_43 = bVar9;
          }
          var_17 = var_17 + var_42->reloc_count;
          var_42 = var_42->next;
          bVar33 = var_42 == (type_12 *)0x0;
          bVar9 = var_43;
          bVar34 = var_40;
        } while (!bVar33);
        if (((bool)(var_43 & var_17 != 0)) && (!var_40)) {
          while (var_17 = var_44(var_5,var_36), 0 < var_17) {
            var_37 = var_45((var_55->wild_statement).section_list);
            if (var_37 == 0) {
              pwVar22 = (var_55->wild_statement).section_list;
              var_59 = (char *)var_11(0,"%F%P: %pB: could not read symbols: %E\n",5);
              var_12(var_59,pwVar22);
              return;
            }
            ppbVar4 = ((var_55->input_statement).the_bfd)->outsymbols;
            var_54 = (type_5 *)var_46(var_17);
            var_17 = var_47
                               ((var_55->wild_statement).section_list,var_36,var_54,ppbVar4);
            if (var_17 < 0) {
              var_13(var_54);
              var_59 = (char *)var_11(0,"%X%P: unable to process relocs: %E\n",5);
              var_12(var_59);
              return;
            }
            var_53 = var_54;
            if (var_17 != 0) {
              do {
                if ((((*(type_8 *)(**(int **)*var_53 + 0x10) & 1) == 0) &&
                    (var_37 = var_31
                                        (link_info.hash,*(type_5 *)(**(int **)*var_53 + 4),0,0,
                                         1), var_37 != 0)) && (*(char *)(var_37 + 0xc) == '\x03')) {
                  puVar5 = *(type_5 **)(*(int *)(var_37 + 0x14) + 0xac);
                  var_48 = (type_5 *)puVar5[0x23];
                  if (var_48 == (type_5 *)0x0) {
                    var_48 = puVar5;
                  }
                  var_59 = (char *)*var_48;
                  var_37 = var_49(((var_55->input_statement).the_bfd)->my_archive->filename,
                                        var_59);
                  if (var_37 != 0) {
                    var_51 = var_50(var_59);
                    var_30 = (char *)var_46(var_51 + 1);
                    var_52(var_30,var_59);
                    ((var_55->input_statement).the_bfd)->my_archive->filename = var_30;
                  }
                }
                var_53 = var_53 + 1;
              } while (var_53 != var_54 + var_17);
            }
            var_13(var_54);
            var_36 = var_36->next;
            if (var_36 == (type_12 *)0x0) break;
            var_5 = (type_11 *)(var_55->wild_statement).section_list;
          }
        }
      }
      var_55 = (var_55->wild_statement).children.head;
    } while (var_55 != (type_14 *)0x0);
    var_62 = file_chain.head;
    if (file_chain.head != (type_14 *)0x0) {
      bVar34 = false;
      var_58 = 0;
      do {
        var_56 = ((var_62->reloc_statement).section)->lineno_count;
        if (var_56 != 0) {
          var_59 = var_57(((var_62->reloc_statement).section)->name,0x2e);
          var_22 = var_62;
          if (var_58 == var_56) {
            if (!bVar34) goto LAB_00053a60;
          }
          else {
            while ((var_60 = var_62, var_59 == (char *)0x0 ||
                   (var_17 = var_49(var_59,".dll"), var_17 != 0))) {
              var_22 = (type_14 *)(var_22->data_statement).output_section;
              if (var_22 == (type_14 *)0x0) {
                bVar34 = false;
                var_58 = var_56;
                goto LAB_00053a60;
              }
              if (var_56 != ((var_22->reloc_statement).section)->lineno_count) break;
              var_59 = var_57(((var_22->reloc_statement).section)->name,0x2e);
            }
            do {
              if (var_56 != ((var_60->reloc_statement).section)->lineno_count) break;
              pwVar22 = (type_13 *)((var_60->reloc_statement).section)->name;
              var_59 = var_57((char *)pwVar22,0x2e);
              if (var_59 == (char *)0x0) {
LAB_00053b30:
                var_17 = var_49(((var_22->wild_statement).section_list)->next,pwVar22);
                if (var_17 != 0) {
                  bVar34 = false;
                  var_58 = var_56;
                  goto LAB_00053a60;
                }
              }
              else {
                var_17 = var_49(var_59,&DAT_00193d01);
                if (var_17 != 0) {
                  pwVar22 = ((var_60->wild_statement).section_list)->next;
                  goto LAB_00053b30;
                }
              }
              var_60 = (var_60->wild_statement).children.head;
            } while (var_60 != (type_14 *)0x0);
            var_59 = var_57(((var_62->reloc_statement).section)->name,0x2e);
          }
          bVar34 = true;
          var_17 = var_49(var_59,".dll");
          var_58 = var_56;
          if (var_17 == 0) {
            var_42 = ((var_62->input_statement).the_bfd)->sections;
            if (var_42 == (type_12 *)0x0) {
              var_17 = 99;
            }
            else {
              bVar33 = true;
              var_37 = 0;
              bVar34 = false;
              do {
                var_40 = false;
                var_17 = 9;
                var_38 = (type_8 *)var_42->name;
                var_39 = (type_8 *)".idata$2";
                do {
                  if (var_17 == 0) break;
                  var_17 = var_17 + -1;
                  var_40 = *var_38 < *var_39;
                  bVar33 = *var_38 == *var_39;
                  var_38 = var_38 + (type_6)bVar35 * -2 + 1;
                  var_39 = var_39 + (type_6)bVar35 * -2 + 1;
                } while (bVar33);
                if ((!var_40 && !bVar33) == var_40) {
                  bVar34 = true;
                }
                var_37 = var_37 + var_42->reloc_count;
                var_42 = var_42->next;
                bVar33 = var_42 == (type_12 *)0x0;
              } while (!bVar33);
              var_17 = 0x61;
              if (!bVar34) {
                var_17 = (var_37 < 1) + 0x62;
              }
            }
            var_51 = var_50(((var_62->input_statement).the_bfd)->filename);
            var_59 = (char *)var_46(var_51 + 3);
            var_61(var_59,"%s.%c",((var_62->wild_statement).section_list)->next,var_17);
            ((var_62->reloc_statement).section)->name = var_59;
            var_51 = var_50((var_62->wild_statement).filename);
            var_59 = (char *)var_46(var_51 + 3);
            var_61(var_59,"%s.%c",(var_62->wild_statement).filename,var_17);
            (var_62->wild_statement).filename = var_59;
            bVar34 = true;
          }
        }
LAB_00053a60:
        var_62 = (var_62->wild_statement).children.head;
      } while (var_62 != (type_14 *)0x0);
    }
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (for_statement condition: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) update: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) body: (compound_statement (if_statement condition: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))) consequence: (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: (string_literal (string_content) (escape_sequence))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (MISSING """)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (break_statement))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (string_literal (string_content))))) (for_statement initializer: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (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 (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) 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 (do_statement body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (identifier) right: (number_literal)))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_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)))))) (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: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (identifier)))) (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 (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content))))))) (for_statement initializer: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) body: (compound_statement (if_statement condition: (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: (char_literal (escape_sequence)))) consequence: (goto_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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (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 (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (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: (char_literal (escape_sequence)))))) 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: (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (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: (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: (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))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (MISSING ";"))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (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: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (false))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (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: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (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: (false))) (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: (true))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (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: (number_literal))) (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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (unary_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (unary_expression argument: (identifier))))) consequence: (compound_statement (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (number_literal) right: (identifier)))) body: (compound_statement (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)) 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: (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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (return_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: (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier))))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier))))) right: (number_literal))))) (number_literal) (number_literal) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (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: (char_literal (escape_sequence)))))) 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: (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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: (identifier) right: (identifier))))) (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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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)))))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (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: (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: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) condition: (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: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (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)))))) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (while_statement condition: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content))))) right: (binary_expression left: (identifier) right: (number_literal)))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (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)))))) index: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (number_literal))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (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)))))) index: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (parenthesized_expression (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)))))) index: (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: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (false))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (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: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (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: (true))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (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)))))) condition: (parenthesized_expression (unary_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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 (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) 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 (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (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))))) (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: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (return_statement))))

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

void MASKED(void)

{
  int *piVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  byte bVar4;
  void *pvVar5;
  byte bVar6;
  int iVar7;
  undefined4 *puVar8;
  undefined4 *puVar9;
  size_t sVar10;
  char *pcVar11;
  undefined4 uVar12;
  char *pcVar13;
  int iVar14;
  undefined4 uVar15;
  int iVar16;
  int iVar17;
  undefined4 *puVar18;
  byte *pbVar19;
  byte *pbVar20;
  bool bVar21;
  bool bVar22;
  bool bVar23;
  bool bVar24;
  byte bVar25;
  int local_50;
  int local_40;
  undefined4 *local_38;
  int local_20 [3];
  undefined4 uStack_14;
  
  bVar25 = 0;
  uStack_14 = 0x535a9;
  FUN_00033940();
  FUN_00052dd0();
  if (DAT_001d1144 == 0) {
LAB_000535da:
    puVar8 = DAT_001d141c;
    if (DAT_001d0dfc != (void *)0x0) {
      for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[0x27]) {
        if (*(int *)(puVar8[1] + 4) == 2) {
          iVar7 = FUN_00038960(DAT_001d0dfc);
          if (iVar7 == 0) {
            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            iVar17 = bfd_make_section_anyway_with_flags
                               (puVar8,".buildid",
                                " SORT_BY_INIT_PRIORITY(.dtors.*)))\n    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  }\n  .ctors          :\n  {\n    /* gcc uses crtbegin.o to find the start of\n       the constructors, so we make sure it is\n       first.  Because this is a wildcard, it\n       doesn\'t matter if the user does not\n       actually link against crtbegin.o; the\n       linker won\'t look for a file to match a\n       wildcard.  The wildcard also means that it\n       doesn\'t matter which directory crtbegin.o\n       is in.  */\n    KEEP (*crtbegin.o(.ctors))\n    KEEP (*crtbegin?.o(.ctors))\n    /* We don\'t want to include the .ctor section from\n       the crtend.o file until after the sorted ctors.\n       The .ctor section from the crtend file contains the\n       end of ctors marker and it must be last */\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))\n    KEEP (*(SORT(.ctors.*)))\n    KEEP (*(.ctors))\n  }\n  .dtors          :\n  {\n    KEEP (*crtbegin.o(.dtors))\n    KEEP (*crtbegin?.o(.dtors))\n    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))\n    KEEP (*(SORT(.dtors.*)))\n    KEEP (*(.dtors))\n  }\n  .jcr            : { KEEP (*(.jcr)) }\n  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }\n  .dynamic        : { *(.dynamic) }\n  .got            : { *(.got) *(.igot) }\n  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);\n  .got.plt        : { *(.got.plt)  *(.igot.plt) }\n  .data           :\n  {\n    *(.data .data.* .gnu.linkonce.d.*)\n    SORT(CONSTRUCTORS)\n  }\n  .data1          : { *(.data1) }\n  _edata = .; PROVIDE (edata = .);\n  . = .;\n  __bss_start = .;\n  .bss            :\n  {\n   *(.dynbss)\n   *(.bss .bss.* .gnu.linkonce.b.*)\n   *(COMMON)\n   /* Align here to ensure that the .bss section occupies space up to\n      _end.  Align after .bss to ensure correct alignment even if the\n      .bss section disappears because there are no input sections.\n      FIXME: Wh..." /* TRUNCATED STRING LITERAL */
                               );
            iVar7 = DAT_001d1414;
            if (iVar17 != 0) {
              iVar16 = *(int *)(DAT_001d1414 + 0xa0);
              *(code **)(iVar16 + 0x1dc) = FUN_00052960;
              pvVar5 = DAT_001d0dfc;
              iVar14 = *(int *)(iVar16 + 0x58);
              *(int *)(iVar16 + 0x1e4) = iVar17;
              *(void **)(iVar16 + 0x1e0) = pvVar5;
              *(undefined4 *)(iVar17 + 0x2c) = 0x35;
              *(undefined4 *)(iVar17 + 0x30) = 0;
              goto joined_r0x00053689;
            }
            pcVar13 = "%P: warning: cannot create .buildid section, --build-id ignored\n";
          }
          uVar12 = dcgettext(0,pcVar13,5);
          FUN_00034d20(uVar12);
          break;
        }
      }
LAB_000539a9:
      free(DAT_001d0dfc);
      DAT_001d0dfc = (void *)0x0;
    }
  }
  else {
    printf("%s()\n","gld_i386pep_after_open");
    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {
      printf("-%s\n",*(undefined4 *)(iVar7 + 4));
    }
    bfd_hash_traverse(DAT_001d1400,FUN_00052650,0);
    puVar8 = DAT_001d141c;
    if (DAT_001d141c != (undefined4 *)0x0) {
      do {
        printf("*%s\n",*puVar8);
        puVar18 = puVar8 + 0x27;
        puVar8 = (undefined4 *)*puVar18;
      } while ((undefined4 *)*puVar18 != (undefined4 *)0x0);
      goto LAB_000535da;
    }
    if (DAT_001d0dfc != (void *)0x0) goto LAB_000539a9;
  }
  iVar7 = DAT_001d1414;
  if (*(int *)(DAT_001d1414 + 0xa0) != 0) {
    iVar14 = *(int *)(*(int *)(DAT_001d1414 + 0xa0) + 0x58);
joined_r0x00053689:
    if (iVar14 != 0) goto LAB_00053690;
  }
  uVar12 = dcgettext(0,"%F%P: cannot perform PE operations on non PE output file \'%pB\'\n",5);
  FUN_00034d20(uVar12,iVar7);
LAB_00053690:
  iVar17 = DAT_001d1414;
  iVar7 = *(int *)(DAT_001d1414 + 0xa0);
  puVar8 = &DAT_001d0e20;
  puVar18 = (undefined4 *)(iVar7 + 0x7c);
  for (iVar16 = 0x52; uVar12 = DAT_001cfd24, iVar16 != 0; iVar16 = iVar16 + -1) {
    *puVar18 = *puVar8;
    puVar8 = puVar8 + (uint)bVar25 * -2 + 1;
    puVar18 = puVar18 + (uint)bVar25 * -2 + 1;
  }
  *(uint *)(iVar7 + 0x1d8) = *(uint *)(iVar7 + 0x1d8) | 0x20;
  *(undefined4 *)(iVar7 + 0x1c4) = uVar12;
  *(undefined4 *)(iVar7 + 0x1d0) = DAT_001cfc70;
  if ((DAT_001d02b4 < 0) && ((DAT_001d13e1 & 0x60) == 0)) {
    if ((DAT_001d13e0 & 3) == 2) {
      DAT_001d02b4 = 1;
    }
    else if (DAT_001d06bc != 0) {
      iVar7 = DAT_001d06bc;
      do {
        local_20[0] = 0;
        bfd_map_over_sections(*(undefined4 *)(iVar7 + 0x10),FUN_00052100,local_20);
        iVar17 = DAT_001d1414;
        if (local_20[0] != 0) {
          DAT_001d02b4 = 1;
          break;
        }
        iVar7 = *(int *)(iVar7 + 0x18);
      } while (iVar7 != 0);
    }
  }
  FUN_0005fed0(iVar17);
  FUN_0005e960(DAT_001d1414,&DAT_001d13e0);
  if (DAT_001d1448 != 0) {
    iVar7 = FUN_00052dd0();
    pcVar13 = "_head_";
    if (iVar7 != 0) {
      pcVar13 = "__head_";
    }
    FUN_0005ce60(pcVar13,FUN_00052680);
  }
  if (DAT_001cfc6c != 0) {
    if (DAT_001d1144 != 0) {
      puts("pep_fixup_stdcalls");
    }
    for (iVar7 = *(int *)(DAT_001d1400 + 0x1c); iVar7 != 0; iVar7 = *(int *)(iVar7 + 0x10)) {
      if (*(char *)(iVar7 + 0xc) != '\x01') goto LAB_00053dd0;
      pcVar13 = *(char **)(iVar7 + 4);
      if (*pcVar13 == '@') {
        pcVar13 = (char *)xstrdup(pcVar13);
        *pcVar13 = '_';
LAB_00053f0f:
        pcVar11 = strchr(pcVar13,0x40);
        if (pcVar11 != (char *)0x0) {
          *pcVar11 = '\0';
        }
        iVar17 = bfd_link_hash_lookup(DAT_001d1400,pcVar13,0,0,1);
        if ((iVar17 != 0) && (*(char *)(iVar17 + 0xc) == '\x03')) {
          uVar12 = *(undefined4 *)(iVar17 + 0x18);
          uVar15 = *(undefined4 *)(iVar17 + 0x1c);
          *(undefined1 *)(iVar7 + 0xc) = 3;
          uVar3 = *(undefined4 *)(iVar17 + 0x14);
          bVar24 = DAT_001cfc6c == -1;
          *(undefined4 *)(iVar7 + 0x18) = uVar12;
          *(undefined4 *)(iVar7 + 0x1c) = uVar15;
          *(undefined4 *)(iVar7 + 0x14) = uVar3;
          if (bVar24) {
            uVar12 = *(undefined4 *)(iVar7 + 4);
            uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);
            goto LAB_00053e6d;
          }
        }
      }
      else {
        pcVar11 = strchr(pcVar13,0x40);
        if (pcVar11 != (char *)0x0) {
          pcVar13 = (char *)xstrdup(pcVar13);
          goto LAB_00053f0f;
        }
        DAT_001d0dec = 0;
        bfd_link_hash_traverse(DAT_001d1400,FUN_00052140,pcVar13);
        iVar17 = DAT_001d0dec;
        if (DAT_001d0dec != 0) {
          uVar12 = *(undefined4 *)(DAT_001d0dec + 0x18);
          uVar15 = *(undefined4 *)(DAT_001d0dec + 0x1c);
          *(undefined1 *)(iVar7 + 0xc) = 3;
          bVar24 = DAT_001cfc6c != -1;
          *(undefined4 *)(iVar7 + 0x18) = uVar12;
          uVar12 = *(undefined4 *)(iVar17 + 0x14);
          *(undefined4 *)(iVar7 + 0x1c) = uVar15;
          *(undefined4 *)(iVar7 + 0x14) = uVar12;
          if (bVar24) goto LAB_00053dd0;
          pcVar13 = *(char **)(iVar17 + 4);
          uVar12 = *(undefined4 *)(iVar7 + 4);
          uVar15 = dcgettext(0,"warning: resolving %s by linking to %s\n",5);
LAB_00053e6d:
          FUN_00034d20(uVar15,uVar12,pcVar13);
          if (DAT_001d0de0 == 0) {
            DAT_001d0de0 = 1;
            uVar12 = dcgettext(0,"Use --enable-stdcall-fixup to disable these warnings\n",5);
            FUN_00034d20(uVar12);
            uVar12 = dcgettext(0,"Use --disable-stdcall-fixup to disable these fixups\n",5);
            FUN_00034d20(uVar12);
          }
        }
      }
LAB_00053dd0:
    }
  }
  if ((DAT_001d13e0 & 3) != 2) {
    FUN_0005ff40(DAT_001d1414,&DAT_001d13e0);
  }
  local_40 = DAT_001d06bc;
  if (DAT_001d06bc != 0) {
    do {
      iVar7 = *(int *)(local_40 + 0x10);
      if ((*(int *)(iVar7 + 0x8c) != 0) &&
         (local_38 = *(undefined4 **)(iVar7 + 0x60), local_38 != (undefined4 *)0x0)) {
        iVar17 = 0;
        bVar23 = true;
        puVar8 = local_38;
        bVar4 = 0;
        bVar24 = false;
        do {
          bVar21 = false;
          iVar16 = 9;
          pbVar19 = (byte *)*puVar8;
          pbVar20 = (byte *)".idata$2";
          do {
            if (iVar16 == 0) break;
            iVar16 = iVar16 + -1;
            bVar21 = *pbVar19 < *pbVar20;
            bVar23 = *pbVar19 == *pbVar20;
            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
          } while (bVar23);
          bVar22 = false;
          bVar23 = (!bVar21 && !bVar23) == bVar21;
          bVar21 = true;
          if (!bVar23) {
            bVar21 = bVar24;
          }
          iVar16 = 7;
          pbVar19 = (byte *)*puVar8;
          pbVar20 = (byte *)".idata$";
          do {
            if (iVar16 == 0) break;
            iVar16 = iVar16 + -1;
            bVar22 = *pbVar19 < *pbVar20;
            bVar23 = *pbVar19 == *pbVar20;
            pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
            pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
          } while (bVar23);
          bVar6 = 1;
          if ((!bVar22 && !bVar23) != bVar22) {
            bVar6 = bVar4;
          }
          iVar17 = iVar17 + puVar8[0x19];
          puVar8 = (undefined4 *)puVar8[3];
          bVar23 = puVar8 == (undefined4 *)0x0;
          bVar4 = bVar6;
          bVar24 = bVar21;
        } while (!bVar23);
        if (((bool)(bVar6 & iVar17 != 0)) && (!bVar21)) {
          while (iVar7 = bfd_get_reloc_upper_bound(iVar7,local_38), 0 < iVar7) {
            iVar17 = bfd_generic_link_read_symbols(*(undefined4 *)(local_40 + 0x10));
            if (iVar17 == 0) {
              uVar12 = *(undefined4 *)(local_40 + 0x10);
              uVar15 = dcgettext(0,"%F%P: %pB: could not read symbols: %E\n",5);
              FUN_00034d20(uVar15,uVar12);
              return;
            }
            uVar12 = *(undefined4 *)(*(int *)(local_40 + 0x10) + 0x78);
            puVar8 = (undefined4 *)xmalloc(iVar7);
            iVar7 = bfd_canonicalize_reloc(*(undefined4 *)(local_40 + 0x10),local_38,puVar8,uVar12);
            if (iVar7 < 0) {
              free(puVar8);
              uVar12 = dcgettext(0,"%X%P: unable to process relocs: %E\n",5);
              FUN_00034d20(uVar12);
              return;
            }
            puVar18 = puVar8;
            if (iVar7 != 0) {
              do {
                if ((((*(byte *)(**(int **)*puVar18 + 0x10) & 1) == 0) &&
                    (iVar17 = bfd_link_hash_lookup
                                        (DAT_001d1400,*(undefined4 *)(**(int **)*puVar18 + 4),0,0,1)
                    , iVar17 != 0)) && (*(char *)(iVar17 + 0xc) == '\x03')) {
                  puVar2 = *(undefined4 **)(*(int *)(iVar17 + 0x14) + 0xac);
                  puVar9 = (undefined4 *)puVar2[0x23];
                  if (puVar9 == (undefined4 *)0x0) {
                    puVar9 = puVar2;
                  }
                  pcVar13 = (char *)*puVar9;
                  iVar17 = filename_cmp(**(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c),pcVar13)
                  ;
                  if (iVar17 != 0) {
                    sVar10 = strlen(pcVar13);
                    pcVar11 = (char *)xmalloc(sVar10 + 1);
                    strcpy(pcVar11,pcVar13);
                    **(undefined4 **)(*(int *)(local_40 + 0x10) + 0x8c) = pcVar11;
                  }
                }
                puVar18 = puVar18 + 1;
              } while (puVar18 != puVar8 + iVar7);
            }
            free(puVar8);
            local_38 = (undefined4 *)local_38[3];
            if (local_38 == (undefined4 *)0x0) break;
            iVar7 = *(int *)(local_40 + 0x10);
          }
        }
      }
      local_40 = *(int *)(local_40 + 0x18);
    } while (local_40 != 0);
    local_50 = DAT_001d06bc;
    if (DAT_001d06bc != 0) {
      bVar24 = false;
      iVar7 = 0;
      do {
        iVar17 = (*(undefined4 **)(local_50 + 0x10))[0x23];
        if (iVar17 != 0) {
          pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);
          iVar16 = local_50;
          if (iVar7 == iVar17) {
            if (!bVar24) goto LAB_00053a60;
          }
          else {
            while ((iVar7 = local_50, pcVar13 == (char *)0x0 ||
                   (iVar14 = filename_cmp(pcVar13,".dll"), iVar14 != 0))) {
              iVar16 = *(int *)(iVar16 + 0x18);
              if (iVar16 == 0) {
                bVar24 = false;
                iVar7 = iVar17;
                goto LAB_00053a60;
              }
              if (iVar17 != (*(undefined4 **)(iVar16 + 0x10))[0x23]) break;
              pcVar13 = strrchr((char *)**(undefined4 **)(iVar16 + 0x10),0x2e);
            }
            do {
              if (iVar17 != (*(undefined4 **)(iVar7 + 0x10))[0x23]) break;
              pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);
              pcVar11 = strrchr(pcVar13,0x2e);
              if (pcVar11 == (char *)0x0) {
LAB_00053b30:
                iVar14 = filename_cmp(**(undefined4 **)(iVar16 + 0x10),pcVar13);
                if (iVar14 != 0) {
                  bVar24 = false;
                  iVar7 = iVar17;
                  goto LAB_00053a60;
                }
              }
              else {
                iVar14 = filename_cmp(pcVar11,&DAT_00193d01);
                if (iVar14 != 0) {
                  pcVar13 = (char *)**(undefined4 **)(iVar7 + 0x10);
                  goto LAB_00053b30;
                }
              }
              piVar1 = (int *)(iVar7 + 0x18);
              iVar7 = *piVar1;
            } while (*piVar1 != 0);
            pcVar13 = strrchr((char *)**(undefined4 **)(local_50 + 0x10),0x2e);
          }
          bVar24 = true;
          iVar16 = filename_cmp(pcVar13,".dll");
          iVar7 = iVar17;
          if (iVar16 == 0) {
            puVar8 = (undefined4 *)(*(undefined4 **)(local_50 + 0x10))[0x18];
            if (puVar8 == (undefined4 *)0x0) {
              iVar7 = 99;
            }
            else {
              bVar23 = true;
              iVar16 = 0;
              bVar24 = false;
              do {
                bVar21 = false;
                iVar7 = 9;
                pbVar19 = (byte *)*puVar8;
                pbVar20 = (byte *)".idata$2";
                do {
                  if (iVar7 == 0) break;
                  iVar7 = iVar7 + -1;
                  bVar21 = *pbVar19 < *pbVar20;
                  bVar23 = *pbVar19 == *pbVar20;
                  pbVar19 = pbVar19 + (uint)bVar25 * -2 + 1;
                  pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
                } while (bVar23);
                if ((!bVar21 && !bVar23) == bVar21) {
                  bVar24 = true;
                }
                iVar16 = iVar16 + puVar8[0x19];
                puVar8 = (undefined4 *)puVar8[3];
                bVar23 = puVar8 == (undefined4 *)0x0;
              } while (!bVar23);
              iVar7 = 0x61;
              if (!bVar24) {
                iVar7 = (iVar16 < 1) + 0x62;
              }
            }
            sVar10 = strlen((char *)**(undefined4 **)(local_50 + 0x10));
            pcVar13 = (char *)xmalloc(sVar10 + 3);
            sprintf(pcVar13,"%s.%c",**(undefined4 **)(local_50 + 0x10),iVar7);
            **(undefined4 **)(local_50 + 0x10) = pcVar13;
            sVar10 = strlen(*(char **)(local_50 + 8));
            pcVar13 = (char *)xmalloc(sVar10 + 3);
            sprintf(pcVar13,"%s.%c",*(undefined4 *)(local_50 + 8),iVar7);
            *(char **)(local_50 + 8) = pcVar13;
            bVar24 = true;
            iVar7 = iVar17;
          }
        }
LAB_00053a60:
        local_50 = *(int *)(local_50 + 0x18);
      } while (local_50 != 0);
    }
  }
  return;
}

